在使用linqtosql和内部连接时,您可以只返回列的一个子集,还是可以拉入所有列/属性?
有时你只需要2-3列,让它拉回所有15列似乎有点过分了。
发布于 2009-06-29 19:20:17
好的
var query =
from c in db.Customers
join o in db.Orders on c.CustomerID equals o.CustomerID
select new {c.Name, o.OrderDate};发布于 2009-06-29 19:23:58
这就是投影(匿名类型)的用途。您只需执行以下操作:
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 };但是,这会导致您在第一次为客户访问订单时执行对数据库的新查询。
如果您只是想要扁平化结构,请删除分组,然后直接投影到新的匿名类型like others have suggested中
var query =
from c in db.Customers
join o in db.Orders on c.CustomerID equals o.CustomerID
select new {c.Name, o.OrderDate};https://stackoverflow.com/questions/1059969
复制相似问题