Die Tabelle „tblCustomer“ verfügt nicht über die Identitätseigenschaft. Der SET-Vorgang kann nicht ausgeführt werdenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Die Tabelle „tblCustomer“ verfügt nicht über die Identitätseigenschaft. Der SET-Vorgang kann nicht ausgeführt werden

Post by Anonymous »

Ich habe diese Meldung erhalten, wenn der Debugger auf die SaveChanges()-Zeile stößt:

„Kann keinen expliziten Wert für die Identitätsspalte in Tabelle ‚tblCustomer‘ einfügen, wenn IDENTITY_INSERT auf OFF gesetzt ist“

Wenn ich versuche, Identity_insert in QL Management Studio auf ON zu setzen, erhalte ich diese Fehlermeldung:

Tabelle „tblCustomer“ verfügt nicht über die Identitätseigenschaft. SET-Operation kann nicht ausgeführt werden

Das Schlimmste ist, dass ich nicht weiß, warum ich mit diesem Wert umgehen soll, und ich bin mir nicht einmal sicher, ob der folgende Code mehr als die Kopie der Datenbank im lokalen Speicher erreicht.

Code: Select all

public ActionResult Submit(
Customer obj) //validation runs
{

if (ModelState.IsValid)
{
CustomerDal Dal = new CustomerDal();
Dal.Customer.Add(obj);     //in memory
Dal.SaveChanges();          //physical commit

return View("Customer", obj);
}
else
{
return View("EnterCustomer", obj);
}
}

Code: Select all

public class Customer
{
[Key]
[Required]
[DatabaseGenerated(DatabaseGeneratedOption.none)]
public string CustomerCode { get; set; }

[Required]
[StringLength(10)]
[RegularExpression("^[A-Z]{7,7}$")]
public string CustomerName { get; set; }
}

public class CustomerDal : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity().ToTable("tblCustomer");
}

public DbSet Customer { get; set; }

}

Code: Select all

CREATE TABLE [dbo].[tblCustomer](
[CustomerCode] [varchar](50) NOT NULL,
[CustomerName] [varchar](50) NULL,
CONSTRAINT [PK_tblCustomer] PRIMARY KEY CLUSTERED
(
[CustomerCode] ASC
)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]

Code: Select all

@using (Html.BeginForm("Submit", "Customer", FormMethod.Post))
{
[i]Customer Name : [/i] @Html.TextBoxFor(m => m.CustomerName)

@Html.ValidationMessageFor(x => x.CustomerName)

[i]Customer Code : [/i] @Html.TextBoxFor(m => m.CustomerCode)

@Html.ValidationMessageFor(x => x.CustomerCode)



}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post