ASP.Net MVC 2 - модель связи с репозиторием - PullRequest
1 голос
/ 27 июня 2010

Обращаясь к этому вопросу, допустим, у нас есть следующий сценарий -

Пользователь модели класса, который реализует IUser

[MetadataType(typeof(IUser))]
public class User : IUser

И хранилище, котороеобрабатывает сохранение, извлечение и т. д. этого из любого хранилища данных, которое мы хотим использовать

public class UserRepository : IRepository<User>
IQueryable<User> GetAUserBySomeCriteriaOrOther(int aParam, string anotherParam);

В дальнейшем у нас будет контроллер и, возможно, представление сверху, каждый из которых ожидает экземпляр IQueryable<User>.

Мои вопросы, таким образом: Каковы преимущества / недостатки передачи результатов из хранилища в виде (скажем) IQueryable<User> по сравнению с IQueryable<IUser>?

Моя причина спрашиватьчто большинство примеров / демонстраций, которые я вижу, будут использовать IQueryable<User>, но мне кажется, что это вводит связь между более высокими уровнями и любым методом, который я использую для генерации класса User.Скажем, я хочу перейти с Linq на Sql на Entity Framework - разве это не большая головная боль?

1 Ответ

0 голосов
/ 27 июня 2010

EntityFramework не поддерживает запросы через интерфейсы.Linq2Sql может понять это хорошо.

Обычно ваш класс User будет выглядеть одинаково между всеми .NET ORM.Ваши linq и классы моделей, вероятно, не изменятся при переключении ORMS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...