在 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 已知的类。
相关文章推荐
- 在 LINQ to Entities 查询中无法构造实体或复杂类型 "Models.Order”
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- 在 LINQ to Entities 查询中无法构造实体或复杂类型
- Linq to Entities中无法构造实体或复杂类型
- Linq to SQL中报错"不允许在查询中显式构造实体类型"怎么解决
- Lambda表达式--使用方法语法的复杂查询: join (在单个 LINQ to Entities 查询中的两个结构上不兼容的初始化过程中出现类型)
- Linq to SQL中报错"不允许在查询中显式构造实体类型"怎么解决
- LINQ to Entities 不识别方法“System.Nullable`1[System.Int32] DiffDays(System.Nullable`1[System.DateTime], System.Nullable`1[System.DateTime])”,因此该方法无法转换为存储表达式。
- LINQ to Entities 不识别方法“Int32 ToInt32(System.String)”,因此该方法无法转换为存储表达式。
- 解决linq中不允许在查询中显式构造实体类型
- linq to sql查询中返回linq自动建立的实体类型)
- LINQ to Entities/实体综合语言查询
- 无法将类型“System.Nullable`1”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 EDM 基元或枚举类型。
- Linq复杂查询 LINQ to Entities: Combining Predicates
- 谁说LINQ复杂查询不支持返回实名类型~定义实体有讲究
- LINQ to Entities 不支持指定的类型成员“ReviewRemainDays”。只支持初始值设定项、实体成员和实体导航属性
- LINQ To XML:之复杂的查询举例
- LINQ to Entities 不识别方法“XX”,因此该方法无法转换为存储表达式