Я только начал работать с Odata, и должен сказать, что мне это очень нравится.$ fetch, $ select, $ expand и т. д. просто потрясающие.Тем не менее, я не совсем понимаю, как привязать оддату к моделям представления.Одна из причин, по которой я заинтересован в формировании данных, заключается в том, что odata, похоже, не поддерживает скрытие / игнорирование свойств.Я также не верю в предоставление клиенту большего количества информации, чем необходимо в то время.
Например, вы создаете объект пользователя, который включает поле пароля.
public class User
{
public string FirstName { get; set; }
public string LastName{ get; set; }
public string Email { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
}
Но вам нужно предоставить список ваших пользователей.Естественно, вы не хотели бы перечислять поле пароля.Вы можете программно исключить это поле, выполнив что-то вроде:
var users= modelBuilder.EntitySet<User>("Users");
users.EntityType.Ignore(usr => usr.password);
Или вы можете украсить его в самом классе:
[IgnoreDataMember]
public string Password { get; set; } // Not visible in the EDM
Проблема в том, что оба они влияют на модель в глобальноммода, если я понимаю, что происходит правильно.
Итак, если пользователю, например, необходимо изменить свой пароль, у него теперь нет возможности сделать это с помощью класса User.
Это такжеКажется, что если я реализую модели представления, я нарушу многие функции, которые предоставляет odata.
Как я уже говорил, я новичок в odata и просто не могу понять, как формировать данные для клиента.
Будем благодарны за любые указания, которые могут быть предоставлены.