EF6代码优先更改数据值

时间:2014-09-30 04:15:14

标签: c# linq entity-framework asp.net-mvc-5 poco

我正在开发一个Web应用程序,我正在查询我的数据库以获取我正确工作的信息,但现在发生了一些奇怪的事情。

我有一个CustomerRates表,其中包含以下字段:

  • Cus_ID
  • svCode
  • svRateDisc
  • svBasicDisc
  • svMinCharge
  • svFutile
  • svWaitingTime
  • svWaitingTimeFree

我正在尝试将数据和它们绘制在一个网格中,但是当我开始仔细检查这些值与数据库中的值不对应时,我的意思是信息带来了,但是值更改,只有在客户端ID相同时才会发生。这种情况正在发生,我不知道为什么:

原始值(表中的那个):

┌───────┬───────┬───────────┬────────────┬────────────┬─────────┬──────────────┬──────────────────┐
│Cus_ID │svCode │svRateDisc │svBasicDisc │svMinCharge │svFutile │svWaitingTime │svWaitingTimeFree │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│21901  │FLW    │0.4        │5           │7           │12       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20650  │FLW    │0.4        │5           │7           │12       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20650  │STD    │0.7        │5.5         │7.5         │15       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20650  │C250   │1.4        │11          │22          │25       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20995  │C250   │1.2        │10          │20          │25       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│21371  │FLW2   │0.51       │6.2         │8.5         │10       │0             │0                 │
└───────┴───────┴───────────┴────────────┴────────────┴─────────┴──────────────┴──────────────────┘

在执行查询后,值返回了我:

┌───────┬───────┬───────────┬────────────┬────────────┬─────────┬──────────────┬──────────────────┐
│Cus_ID │svCode │svRateDisc │svBasicDisc │svMinCharge │svFutile │svWaitingTime │svWaitingTimeFree │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│21901  │FLW    │0.4        │5           │7           │12       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20650  │FLW    │0.4        │5           │7           │12       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20650  │FLW    │0.4        │5           │7           │12       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20650  │FLW    │0.4        │5           │7           │12       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│20995  │C250   │1.2        │10          │20          │25       │0             │0                 │
├───────┼───────┼───────────┼────────────┼────────────┼─────────┼──────────────┼──────────────────┤
│21371  │FLW2   │0.51       │6.2         │8.5         │10       │0             │0                 │
└───────┴───────┴───────────┴────────────┴────────────┴─────────┴──────────────┴──────────────────┘

奇怪的是,只有在这张桌子上才能正常工作。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我真的不知道为什么会产生这个错误。

我的解决方案是逐步执行每一个用于调用监控实体的方法。

当我制作地图表并定义主键时,公司的生成如下:

this.HasKey (t => t.Cus_ID);

替换为:

this.HasKey (t => t.svCode);

并为我带来应有的记录..

仍然不明白为什么。非常感谢你的帮助