C# 实体框架赢得';t更新实体的新添加属性
我刚刚向我的一个实体添加了几个属性,现在无法更新它们 以下是我的代码片段:C# 实体框架赢得';t更新实体的新添加属性,c#,sql-server-2008,entity-framework-4,C#,Sql Server 2008,Entity Framework 4,我刚刚向我的一个实体添加了几个属性,现在无法更新它们 以下是我的代码片段: Artikal art = db.Artikli.First(); art.Image = picbyte; art.BarcodeType = "UAC"; art.Model = "RayBan"; art.StrProperty1 = "aaaa"; art.StrProperty2 = "bbbb"; art.StrProperty5 = "cccc"; db.SaveChanges();
Artikal art = db.Artikli.First();
art.Image = picbyte;
art.BarcodeType = "UAC";
art.Model = "RayBan";
art.StrProperty1 = "aaaa";
art.StrProperty2 = "bbbb";
art.StrProperty5 = "cccc";
db.SaveChanges();
Image
、Model
和StrProperty5
是新添加的字段,而其余字段是“旧”字段
这是我通过探查器捕获的内容:
exec sp_executesql N'update [dbo].[Artikli]
set [StrProperty1] = @0, [StrProperty2] = @1, [BarcodeType] = @2
where ([IdArtikal] = @3)
',N'@0 nvarchar(256),@1 nvarchar(256),@2 nvarchar(16),@3 int',@0=N'aaaa',@1=N'bbbb',@2=N'UAC',@3=1
所以EF甚至不尝试更新那些“新”属性
我只是添加了属性,模型优先,从模型更新数据库,就像我以前做过很多次一样
可能出了什么问题?如何修复此问题?数据库是否已真正更新?SSDL是否包含新属性?不,EF甚至没有尝试。但事实证明这是一个相当愚蠢的原因。我把时钟拨慢了一个月,就在我加新房子的前一天,却忘了。经过两天的努力,我纠正了它,一切都恢复了正常。虽然我不明白为什么不正确的时钟会导致这样的事情。