При попытке использовать этот код:
var model = new MasterEntities();
var customer = new Customers();
customer.Sessionid = 25641;
model.Customers.Add(customer);
model.SaveChanges();
Я получаю:
{ "Невозможно вставить значение NULL в столбец" Sessionid ", таблица 'Master.dbo.Column'; столбец не допускает нулей. ВСТАВИТЬ не выполняется.\r\nПриложение завершено." }
Столбец "Sessionid" на самом деле является основным ключом и отмечен [KEY] следующим образом:
public class Customers
{
[Key]
public long Sessionid { get; set; }
public long? Pers { get; set; }
}
Поэтому в соответствии с этим вопросом кажется, что, когда свойство помечено [KEY]
, EF игнорирует мое собственное объявление Sessionid, поскольку оно ожидает, что база данных будет присвойте значение.
Итак, как я могу это решить? Если я удалю [KEY]
, я получаю исключение "entity type has no key defined"
...