При использовании linqtosql и внутреннего соединения вы можете вернуть только подмножество столбцов? - PullRequest
0 голосов
/ 29 июня 2009

При использовании linqtosql и внутреннего объединения, вы можете вернуть только подмножество столбцов или он извлекает все столбцы / свойства?

Иногда вам нужно всего 2-3 столбца, когда он вытягивает все 15 и т. Д., Кажется излишним.

Ответы [ 2 ]

3 голосов
/ 29 июня 2009

1001 * уверен *

var query =
  from c in db.Customers
  join o in db.Orders on c.CustomerID equals o.CustomerID
  select new {c.Name, o.OrderDate};
0 голосов
/ 29 июня 2009

Вот для чего нужны прогнозы (анонимные типы). Вы просто должны сделать:

from p in People
select new { p.Name, p.Age }

При объединении можно по-прежнему использовать анонимные типы. Если вы хотите представить отношение один-ко-многим, вы просто делаете:

var query =
  from c in db.Customers
  join o in db.Orders on c.CustomerID equals o.CustomerID into g
  select new {c.Name, Orders = g };

Однако это приводит к тому, что вы выполняете новый запрос к базе данных при первом обращении к Заказам для клиента.

Если вы просто хотите сгладить структуру, удалить группировку, а затем просто проецировать в новый анонимный тип, , как другие предложили :

var query =
  from c in db.Customers
  join o in db.Orders on c.CustomerID equals o.CustomerID
  select new {c.Name, o.OrderDate};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...