Я работаю над проектом ASP.NET MVC. В моем решении у меня есть следующие проекты: BlogApp.Web (ASP.NET MVC приложение), BlogApp.Data (библиотека классов)ASP.NET MVC Data Access Layer
Я задаюсь вопросом, как реализовать слой доступа к данным. Я хочу использовать подход EntityFramework Code First. Я думал о шаблоне репозитория, но это действительно необходимо? Я прочитал, что это только следующий слой поверх ORM, который на самом деле не нужен. Таким образом, вместо написания метода типа:
GetAllPosts(Tag t) {
db.Posts.Where(p => p.Tags.Contains(t)).Skip(x).Take(y).Select(p => p);
}
Я создаю контекст db в контроллере и пишу тот же запрос? Мне не нужно внедрять подкачки и писать обертки вокруг моих моделей.
См. Принцип DRY: не повторяйте себя. В краткосрочной перспективе это может занять больше времени (не так долго по сравнению со многими копиями и вставками), но в долгосрочной перспективе это сэкономит вам много времени на обслуживание и тестирование, поэтому отладка - что мы все знаем, может занять намного больше времени, чем написав код в первую очередь. – TODOName