我正在尝试从实体框架中更新复合主键的一个值,并且我收到此错误:"属性'CustomerID'是对象的关键信息的一部分,无法修改."
这是我的代码:
Dim customer As Customer = (From c In db.Customer Where c.CustomerID = "xxx" AndAlso c.SiteKey = siteKey).FirstOrDefault
customer.CustomerID = "fasdfasdf"
db.SaveChanges()
Run Code Online (Sandbox Code Playgroud)
这似乎太简单了.是否真的无法在实体框架内更新主键?我找不到有关该主题的任何文档.谢谢!
我有下表:
create table tbl
(
id int identity(1,1),
val varchar(100)
)
Run Code Online (Sandbox Code Playgroud)
现在,当我使用Entity Framework将对象映射到此表时,它可以工作,但是当我更改表定义时,如下所示:
create table tbl1
(
id int,
val varchar(100)
)
Run Code Online (Sandbox Code Playgroud)
实体框架不会将对象映射到此表.关于为什么会发生这种情况的任何线索都将受到赞赏.