Entity Framework n-Tier - PullRequest
       17

Entity Framework n-Tier

1 голос
/ 03 февраля 2012

Я использую Entity Framework для взаимодействия с некоторыми службами WCF и некоторыми веб-сайтами MVC3, которые я создал. Я использую базу данных в первую очередь.

Я создал библиотеку с папками Data, Model и CRUD. Данные содержат файл edmx и частичный класс для моих сущностей, который создает метод ToDTO (). Модель содержит класс каждой из моих сущностей, которые я могу передать как объект. CRUD содержит то, что следует ожидать - общие методы чтения, обновления и удаления.

Мои сущности названы в стиле «StudentEntity», а у моего DTO более простое имя, например «Student». Таким образом, класс StudentEntity имеет метод ToDTO, который возвращает объект Student.

И в моей папке CRUD есть класс с именем Student, который содержит операции CRUD для сущностей студентов.

Кажется, что возникает путаница, когда я делаю еще один делелопер, просматривающий код, они запутываются в том, на какого студента они смотрят, сущность, DTO или класс CRUD.

Как мне изменить схему именования, чтобы сделать ее более понятной? Также вы можете дать мне какие-нибудь предложения по его очистке. Может быть, мне не нужны классы DTO и я могу каким-то образом использовать расширение / отражение, чтобы не иметь отдельного класса для каждого метода ToDTO.

1 Ответ

1 голос
/ 03 февраля 2012

Если бы мне пришлось сохранить ту же архитектуру, я бы использовал следующие соглашения об именах:

// Namespaces & folders
// /DTO   (Data Transfer Objects classes only)  
// /Model (edmx files and utility classes)  
// /Data  (Repositories)
// /Services (Specialized repositories and business logic classes)

// Naming conventions
StudentDTO // (Data Transfer Object)
Student    // (the entity itself)
StudentRepository // (very common and conventional name)
StudentService    // (common and conventional name)

Мои 2 цента, С уважением, Макс

...