Как получить сущность при фильтрации определенных столбцов - PullRequest
1 голос
/ 04 февраля 2011

У меня есть таблица с огромными столбцами.Как я могу выбрать объекты без заполнения свойств, которые сопоставлены с этими столбцами?

У меня есть одна идея, но я не уверен, что это правильный подход:

ctx.Items.Where(....).Select(a=> new Item { ... bind only needed columns }).ToList()

Будут ли эти объектыбыть прикрепленным к DataContext?

Ответы [ 2 ]

2 голосов
/ 05 февраля 2011

Вы идете правильным путем, я думаю.Это способ создания объектов с заполненными только предпочтительными столбцами / свойствами.Взгляните на этот пост .

РЕДАКТИРОВАТЬ:

Это от Джули Лерман и это то, что задают в этом вопросе, я считаю:

Проекции с помощью методов запросов LINQ Для проецирования с использованием синтаксиса запросов на основе методов LINQ вы должны использовать метод Select, а затем определить свойства, которые вам нужны в его параметре.Синтаксис запроса на основе метода требует синтаксиса для создания анонимного типа в лямбда-выражении (см. Пример 4-4).

Пример 4-4.Проектирование с использованием синтаксиса на основе методов LINQ

context.Contacts .Where (c => c.FirstName == "Robert") .Select (c => new {c.Title, c.LastName, c.FirstName})

2 голосов
/ 04 февраля 2011

Используйте любой тип, кроме Item.Например, анонимный тип или DTO.Тогда ваш запрос будет делать именно то, что вы хотите.

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