Asp.net mvc 实体框架未返回正确的数据。它是从单个记录重复数据
首先使用带有EF代码的MVC4。 在执行linq to EF selects语句时,集合将填充上一条记录的数据。更奇怪的是,只有一些属性在其他属性不重复的地方重复。最好通过示例向您展示: 使用此查询将返回正确的数据:Asp.net mvc 实体框架未返回正确的数据。它是从单个记录重复数据,asp.net-mvc,entity-framework-5,Asp.net Mvc,Entity Framework 5,首先使用带有EF代码的MVC4。 在执行linq to EF selects语句时,集合将填充上一条记录的数据。更奇怪的是,只有一些属性在其他属性不重复的地方重复。最好通过示例向您展示: 使用此查询将返回正确的数据: var orders = db.Orders.ToList(); OrderID OrderTotal名称 1215.00鲍勃 2415.00马克 3315.50拉尔夫 当我通过SubscriberID筛选Orders实体时,它是一个外键,如下所示: var orders = d
var orders = db.Orders.ToList();
OrderID OrderTotal名称
1215.00鲍勃
2415.00马克
3315.50拉尔夫
当我通过SubscriberID筛选Orders实体时,它是一个外键,如下所示:
var orders = db.Orders.Where(s => s.SubscriberId == 2).ToList();
数据最终如下所示:
1315.50鲍勃
2315.50马克
3315.50拉尔夫
注意OrderTotal是如何重复的,但名称保持不变。请注意,这不是视图问题。当我在控制器中调试时查看集合中的数据时,这就是我看到的。这似乎不是唯一发生这种情况的地方。我在更复杂的模型上看到了类似的东西——但我想我应该从最简单的示例开始。谢谢 问题是在我设置模型的默认值时引起的。显然,使用static是不正确的。因此: [只读(正确)] [显示(名称=“小计”)] 私有静态十进制_OrderSubTotal=0; 公共十进制OrderSubTotal{get{return}OrderSubTotal;}set{{OrderSubTotal=value;}} 应写为 [只读(正确)] [显示(名称=“小计”)] 私有十进制_OrderSubTotal=0;
public decimal OrderSubTotal{get{return}OrderSubTotal;}set{{OrderSubTotal=value;}}}为什么不附加查询分析器并查看实际的SQL?