0

首先使用带有 EF 代码的 MVC 4。在执行 linq to EF 选择语句时,集合中填充了看起来像是最后一条记录的数据。更奇怪的是,只有一些属性重复,而其他属性没有。最好通过示例向您展示:

使用此查询返回正确的数据:

var orders = db.Orders.ToList();

OrderID OrderTotal 名称

1 215.00 鲍勃

2 415.00 马克

3 315.50 拉尔夫

当我通过外键订阅者 ID 过滤订单实体时,如下所示:

var orders = db.Orders.Where(s => s.SubscriberId == 2).ToList();

数据最终看起来像这样:

1 315.50 鲍勃

2 315.50 马克

3 315.50 拉尔夫

请注意 OrderTotal 是如何重复的,但名称保持不变。请注意,这不是视图问题。当我在控制器中调试时查看集合中的数据时,这就是我所看到的。这似乎不是唯一发生这种情况的地方。我在更复杂的模型中看到了类似的东西——但我想我会从最简单的样本开始。谢谢!

4

1 回答 1

0

问题是我在模型上设置默认值时引起的。显然使用静态是不正确的。所以:

[ReadOnly(true)] [Display(Name = "Sub total")] private static decimal _OrderSubTotal = 0; 公共小数 OrderSubTotal { get { return _OrderSubTotal; } 设置 { _OrderSubTotal = 值;} }

应该写成

[ReadOnly(true)] [Display(Name = "Sub total")] private decimal _OrderSubTotal = 0; 公共小数 OrderSubTotal { get { return _OrderSubTotal; } 设置 { _OrderSubTotal = 值;} }
于 2013-04-04T17:02:30.150 回答