C# 显式值和标识\u插入

C# 显式值和标识\u插入,c#,sql,asp.net-mvc,C#,Sql,Asp.net Mvc,我正在开发一个非常基本的web应用程序,并创建了一个简单的表来存储客户数据: CREATE TABLE [dbo].[CustomerTbl] ( [customerID] INT IDENTITY (1, 1) NOT NULL, [firstName] NVARCHAR (50) NOT NULL, [lastName] NVARCHAR (50) NOT NULL, [homeTel] N

我正在开发一个非常基本的web应用程序,并创建了一个简单的表来存储客户数据:

   CREATE TABLE [dbo].[CustomerTbl] (
    [customerID]     INT           IDENTITY (1, 1) NOT NULL,
    [firstName]      NVARCHAR (50) NOT NULL,
    [lastName]       NVARCHAR (50) NOT NULL,
    [homeTel]        NVARCHAR (50) NOT NULL,
    [mobTel]         NVARCHAR (50) NOT NULL,
    [passengerCount] NVARCHAR (50) NOT NULL,
    [email]          NVARCHAR (50) NULL,
    PRIMARY KEY CLUSTERED ([customerID] ASC)
);
在调试期间,我在尝试更新条目时出错。内部异常显示:

{当identity_insert设置为OFF时,无法为表'CustomerTbl'中的identity列插入显式值。}

我无法理解为什么会发生这种情况,因为我没有尝试显式地将任何值写入标识列customerID

我是否应该将“仅设置标识插入”打开?还是这里有什么我完全错过的东西?现在我完全糊涂了


提前感谢您的帮助

您的customerID字段是否设置为实体模型中的标识列?您是使用代码优先还是数据库优先?代码优先还是数据库优先?您是从实体模型生成数据库还是从数据库生成实体模型?感谢您的澄清,我是从数据库生成实体模型的:检查模型中相应属性的属性,很可能它没有被设置为由数据库生成。谢谢Lasse,你完全正确。我检查了实体模型属性,StoreGeneratedPattern设置为None,我将其更改为Identity,刷新,现在一切都按预期运行。若我是从数据库生成模型,那个么这不是自动完成的吗?
 if (ModelState.IsValid)
            {
                using (FlightDBEntities3 CustData = new FlightDBEntities3())
                {
                    CustData.CustomerTbls.Add( 
                        new CustomerTbl()      
                        {
                            firstName = newApp.FirstName,
                            lastName = newApp.LastName,
                            homeTel = newApp.HomeTel,
                            mobTel = newApp.MobileTel,
                            email = newApp.EmailAdd,
                            passengerCount = newApp.NumberOfPassengers,
                        });
                    CustData.SaveChanges();