Я получил это сообщение, когда отладчик попадает на строку 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
Таблица «tblCustomer» не имеет свойства идентификации. Невозможно выполнить операцию SET ⇐ C#
Место общения программистов C#
1768724134
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))
{
[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)
}
Подробнее здесь: [url]https://stackoverflow.com/questions/42059462/table-tblcustomer-does-not-have-the-identity-property-cannot-perform-set-oper[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия