Я работаю над проектом MVC3 и мы создали архитектуру проекта, чтобы сохранить наши классы что-то вроде этого:
- Типовые классы на своем месте по умолчанию в проекте MVC.
- Мы добавили новый объект проекта, который содержит свойство, соответствующее именам полей базы данных (столбца).
- Отдельный проект для (доступ к данным позже) DAL и (Business Access Layer) BAL.
Теперь, как все работает:
Модель классы содержат свойство, отображающее свойство в проекте Entity, а также некоторые дополнительные свойства, которые нам нужны в процесс нашего развития в качестве вспомогательных свойств, например, SubmissionType, чтобы проверить, какой тип представления мы сделали с тем же методом post, что и Save, Update или Delete.
Проект Entity будет содержать только свойства, которые сопоставляют имена столбцов в базе данных, а BAL взаимодействует с классами проекта Entity, чтобы получить или присвоить значения, необходимые для работы базы данных.
И классы в проекте Entity получат или присваивают значения/классам Model. Это все потому, что наш основной проект может иметь ссылку на проекты Entity и BAL, но не наоборот.
Хорошо, теперь вопрос в том, как эти сопоставления будут выполнены? Я имею в виду назначение значений из классов Model to Entity и наоборот. Для этого нам нужно добавить dll в наш проект «Omu.ValueInjecter». которую вы можете скачать с here. Просто нужно, чтобы добавить его в нашем приложении, и он будет заботиться о картографировании вещей в только одну строке, как это:
EmployeeEntities entity = new EmployeeEntities();
entity.InjectFrom(model);
Здесь я задаю значение от модели к лицу, которое я получил от метода поста. Теперь этот объект объекта будет передан в BAL и от BAL до DAL. Внедряя это решение, вам даже не нужно перемещать вашу модель извне вашего проекта, что является болезненным усилием, я думаю.
Надеюсь, что это решение поможет вам
Вы должны включить DLL, которые содержат эти ссылки в вашем проекте. Если они являются системными DLL, вы должны работать в правильных версиях ОС и .NET Framework. –
Это не имеет никакого смысла, я просто заявил, что нажатие «добавить refrences» в моем проекте библиотеки классов и поиск отсутствующих DLL не работает, поскольку они не существуют в секции .net или COM. Они автоматически добавляются в проект ASP.net, но не в мою библиотеку классов. Также я использую VS2010 для Windows 7 с ASP.net MVC3 – TheWebs