0

再会。我有 MSSQL2008 数据库。我为现有表之一(VLAN)制作了一个合适的模型。

public DbSet<VLAN> VLANs { get; set; }

VLAN 模型具有以下字段:

[Key][Required]
public int VLAN_ID { get; set; } //in the "VLAN" table it is PK
...

然后我尝试插入一个新值

_db.VLANs.Add(VLANToEdit); //<-- Here VLANToEdit has VLANToEdit.VLAN_ID == 144. No such data in the table
_db.SaveChanges(); //<--Here I got an exception.

MSSQL 不能将 NULL 值插入 VLAN_ID 字段。但为什么?我传递了一个实值但为空?怎么了?我收到以下消息:

“无法将值 NULL 插入 'VLAN_ID' 列,表 'VMMExt.dbo.VLANs';列不允许空值。INSERT 失败。\r\n语句已终止。” 细绳

如果我删除 [Key] 属性,我会在其他地方收到关于 VLAN 表中缺少关键字段的错误。

如何解决这个问题并强制插入提供的主键值?

4

1 回答 1

1

感谢本站深度搜索!我在这里找到它:C# .NET 4.0 MVC Inserting a record with primary key

所需要的只是在模型中添加一个属性:[DatabaseGenerated(DatabaseGeneratedOption.None)]

你可以删除我的问题。谢谢!

于 2012-07-24T12:12:33.180 回答