Я использую класс перечисления следующим образом:
public class BillTransactionState
{
public static readonly BillTransactionState Initialized = new BillTransactionState(1, "Initialized");
public static readonly BillTransactionState Invoiceable = new BillTransactionState(2, "Invoiceable");
public static readonly BillTransactionState NoSow = new BillTransactionState(3, "NoSow");
public static readonly BillTransactionState Invoiced = new BillTransactionState(4, "Invoiced");
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
У меня есть другой класс, который ссылается на BillTransactionState:
public class BillTransactionStateHistory : IEntity<long>
{
public long Id { get; set; }
public DateTime EffectiveDate { get; set; }
public BillTransactionState BillTransactionState { get; set; }
}
В моем webapi, когда я делаю что-то вроде этого:
var billTransactionStateHistory = new BillTransactionStateHistory ({
BillTransaction = BillTransaction .Initialized,
EffectiveDate = DateTime.Now
});
_dbContext.BillTransactionStateHistories.AddAsync(billTransactionStateHistory)
Я получаю сообщение об ошибке:
Идентификация вставки отключена для BillTransactionState.
Я понял, что EF Core пытается вставить строку в BillTransactionStateтаблица со значениями 1 (для Id) и 'Initliazed'.Как я могу остановить EF Core от попытки вставить строку в этот перечислимый класс.Любая помощь в этом отношении будет высоко оценена.Спасибо.