У меня есть Приводимый аннотированный моделируютDataServiceContext Ошибка обновления
public class TypeA
{
public int TypeAId { get; set; }
[Required]
public TypeB B { get; set; }
public string AValue { get; set; }
}
public class TypeB
{
public int TypeBId { get; set; }
public string BValue { get; set; }
}
разоблачен как v3 OData с помощью службы данных WCF с использованием фреймворка объекта. При попытке обновить TypeA используя DataServiceContext такие как
var ctx = new Service.Context(new Uri("http://localhost/TestUpdateService/TestUpdateService.svc"));
var t = ctx.theATypes.Expand(p => p.B).First();
t.AValue = "New value";
ctx.UpdateObject(t);
ctx.SaveChanges();
Я получаю DbEntityValidationException в службе с указанием «Поле B требуется»
тела запроса «Объединить/TestUpdateService/TestUpdateService. svc/theATypes (1) HTTP/1.1 " содержит изменение свойства AValue, но не содержит никакой информации о ссылке в свойство B (это мое предположение о том, почему валидация не работает в службе). Мне что-то не хватает в обновлении службы данных?
удаление атрибута, конечно же, позволяет добиться успеха. однако исключение проверки происходит в службе данных, поэтому я не уверен, что понимаю, что вы подразумеваете под «удалять [требуется] из модели на стороне клиента. Также требуемые значения устанавливаются до сохранения изменений. –