您的位置:首页 > 运维架构

在 LINQ to Entities 查询中无法构造实体或复杂类型“Mvc_MusicShop_diy.Models.Order”

2013-07-20 16:58 453 查看
 

错误代码:

var orders = db.Orders.Where(o => o.UserId == userid).Select(c =>


[code] new Order


{


 


OrderId = c.OrderId,


OrderDate = c.OrderDate,


Total = c.Total,


OrderDetails = db.OrderDetailss.Where(od => od.OrderId == c.OrderId).ToList()


 


}


 


).ToList();


 


 


 


 


正确代码:


var orders = db.Orders.Where(o=>o.UserId==userid).ToList().Select

               (c =>

              new Order

              {

                  OrderId = c.OrderId,

                  OrderDate = c.OrderDate,

                  Total = c.Total,

                  OrderDetails = db.OrderDetailss.Where(od => od.OrderId == c.OrderId).ToList()

              }

              ).ToList();

[/code]

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

 

 

原理: linq 选择数据时候 不能new 已知的对象,只能匿名的。 但是如果从一个 List 列表 就可以new 已知的类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐