gpt4 book ai didi

entity-framework - 为什么它试图在主键属性 id 中插入 NULL .. MVC5 EF6

转载 作者:行者123 更新时间:2023-12-04 12:48:47 24 4
gpt4 key购买 nike

我正在使用 Entity Framework 6 Code First MVC5。这是我的类(class):

Offer.cs

 public class Offer
{
public int Id { get; set; }

[Required]
public string ListOffer { get; set; }
}

这是我的 Controller

[HttpPost]
public ActionResult Create(OfferFormViewModel viewModel)
{
var offer = new Offer
{
ListOffer = viewModel.ListOffer,
};
_context.Offers.Add(offer);
_context.SaveChanges();

return RedirectToAction("MyOffers", "Offers");
}

OfferFormViewModel.cs

public class OfferFormViewModel {
public int Id { get; set; }
[Required]
public string ListOffer { get; set; }
}

当我尝试在优惠表中插入一条记录时,它在我的机器上运行良好,并在数据库中插入记录,并自动将值分配给 id 列。但是当我部署应用程序时它抛出异常

System.Data.SqlClient.SqlException: Cannot insert the value NULL into column 'Id', table 'DefaultConnection.dbo.Offers'; column does not allow nulls. INSERT fails. The statement has been terminated.

我的问题是,为什么它在我部署应用程序时尝试在 Id 列中插入 NULL,而不是在我未部署的情况下运行代码时尝试插入 NULL?

最佳答案

当我部署应用程序时,我将数据库复制到服务器。在服务器上,Id 列未设置为主键,也不是标识列。我认为将数据库复制到服务器时出了点问题。这就是它抛出异常的原因。

关于entity-framework - 为什么它试图在主键属性 id 中插入 NULL .. MVC5 EF6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41849658/

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