Member 12852443 Ответов: 1

Вставка данных в БД из EF с использованием составного ключа (первичного)


Данные не вставляются в БД, как обрабатывают составной первичный ключ, где один ПК установлен на автоматическое приращение. Здесь не вводятся никакие данные в столбец Id , но он выдает следующее исключение .

"Cannot insert explicit value for identity column in table 'TableName' when IDENTITY_INSERT is set to OFF."


Что я уже пробовал:

Table 
Id int primary key (auto increment)
SrNo varchar(6) primary key
Name varchar(10)

<pre lang="c#">   this.HasKey(m => new { m.Id, m.SrNo });

public bool Add(BusinessEntity mod)
                   {  _itemWarehouse.Insert(mod);   }


взятие данных из WinForm где
Id=0 (не установлен, по умолчанию), SrNo = X12 , Name = ABC

Но не вводя данные в БД , выбрасывая исключение

"Невозможно вставить явное значение для столбца identity в таблицу 'TableName', если IDENTITY_INSERT имеет значение OFF."

MadMyche

Какой тип БД?

1 Ответов

Рейтинг:
9

Gerry Schmitz

Таблица не может иметь более одного "первичного ключа".

EF может распознавать только один первичный ключ; либо одно значение, либо составной ключ.

Все остальное было бы "вторичным ключом / индексом"


Member 12852443

спасибо ,что у меня есть решение, также я использую здесь 2 столбца в одном ПК (несколько столбцов разрешено использовать в качестве ПК), его работа ,