Таблица «tblCustomer» не имеет свойства идентификации. Невозможно выполнить операцию SETC#

Место общения программистов C#
Ответить
Anonymous
 Таблица «tblCustomer» не имеет свойства идентификации. Невозможно выполнить операцию SET

Сообщение Anonymous »

Я получил это сообщение, когда отладчик попадает на строку SaveChanges():

"Невозможно вставить явное значение для столбца идентификаторов в таблице "tblCustomer", когда для IDENTITY_INSERT установлено значение OFF"

Когда я пытаюсь установить для идентификатораident_insert значение ON в QL Management Studio, я получаю это ошибка:

Таблица «tblCustomer» не имеет свойства идентификации. Невозможно выполнить операцию SET

Хуже всего то, что я не знаю, зачем мне иметь дело с этим значением, и я даже не уверен, что следующий код попадает больше, чем копия базы данных в локальной памяти.
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);
}
}

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; }

}

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]

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

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

Customer Code : @Html.TextBoxFor(m => m.CustomerCode)

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



}


Подробнее здесь: https://stackoverflow.com/questions/420 ... m-set-oper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»