„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)
}
Mobile version