Дизайн Entity Framework - несколько «представлений» для данных

У меня есть вопрос по дизайну, связанный с сущностями Entity Framework.

Я создал следующую сущность:

public class SomeEntity {
    // full review details here
}

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

В моем приложении есть несколько мест, где мне нужно отображать табличные данные с некоторыми полями из SomeEntity, но мне не нужны все 30 столбцов, может быть, только 2 или 3 столбца.

Могу ли я создать совершенно новую сущность, содержащую только нужные мне поля (которая сопоставляется с той же таблицей, что и SomeEntity, но извлекает только нужный мне столбец?)

Или имеет смысл создать класс предметной области (например, PartialEntity) и напишите такой запрос:

var partialObjects = from e in db.SomeEntities
                     select new PartialEntity { Column1 = e.Column1, Column2 = e.Column2 };

Я не уверен, как лучше всего поступать подобным образом. Плохая идея иметь две сущности, которые сопоставляются с одной и той же таблицей / столбцами? Мне никогда бы не понадобилась возможность создать PartialEntity и сохранить его в базе данных, потому что в нем не было бы всех необходимых полей.

6
задан Dismissile 10 October 2011 в 21:20
поделиться