gpt4 book ai didi

c# - 无法将值 NULL 插入 ASP.NET MVC Entity Framework 中的列

转载 作者:IT王子 更新时间:2023-10-29 04:53:36 25 4
gpt4 key购买 nike

尝试使用此代码时:

var model = new MasterEntities();

var customer = new Customers();
customer.Sessionid = 25641;

model.Customers.Add(customer);
model.SaveChanges();

我得到:

{"Cannot insert the value NULL into column 'Sessionid', table 'master.dbo.Column'; column does not allow nulls. INSERT fails.\r\nThe statement has been terminated."}

“Sessionid”列实际上是主键,并且用[KEY]标记如下:

 public class Customers
{
[Key]
public long Sessionid { get; set; }
public long? Pers { get; set; }
}

所以根据this问题,似乎当属性标记为 [KEY] 时,EF 忽略了我自己的 Sessionid 声明,因为它希望数据库分配值。

那我该如何解决呢?如果我删除 [KEY] 我会得到 "entity type has no key defined" 异常...

最佳答案

我通过添加 [DatabaseGenerated(DatabaseGeneratedOption.None)] 解决了这个问题,如下所示:

public class Customers
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public long Sessionid { get; set; }
public long? Pers { get; set; }
}

关于c# - 无法将值 NULL 插入 ASP.NET MVC Entity Framework 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19727337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com