为什么linq中不支持此查询?

时间:2011-06-14 20:48:55

标签: linq-to-entities

我有这样的查询。

var query = from o in _context.Orders
            join c in _context.Customers on o.CustomerId equals c.CustomerId
            orderby o.ShippedDate descending
            select new {OrderId = o.OrderId, Customer = c.FirstName};

我收到错误“仅支持初始化程序,实体成员和实体导航属性”。我发誓以前我能做到这一点但是因为我的生活无法理解问题所在。我也无法像这样重构查询。

var query = from o in _context.Orders
            orderby o.ShippedDate descending
            select new {OrderId = o.OrderId, Customer = o.Customer.FirstName};

束手无策。

2 个答案:

答案 0 :(得分:0)

尝试类似......

 var query = from o in _context.Orders
             join c in _context.Customers on o.CustomerId equals c.CustomerId
             orderby o.ShippedDate descending
             let OrderID = o.OrderID
             let Customer = c.FirstName
             select OrderID, Customer

答案 1 :(得分:0)

试试这个:

var query = from o in _context.Orders
            join c in _context.Customers on o.CustomerId equals c.CustomerId
            orderby o.ShippedDate descending
            select new {o.OrderId, c.FirstName};