Итак, рассмотрим следующий класс:
public class Solution
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
И следующие методы
public void DoSomething()
{
new Item originalItem = new Item();
item.Name = "Test";
InserIntoDb(originalItem);
Assert.True(item.Id != 0);
}
public void InserIntoDb(Item item)
{
context.Item.Add(item);
context.SaveChanges();
}
В этом случае после вставки в БД EF автоматически обновляет originalItem своим автосгенерированное значение идентификатора.
Моя проблема начинается, когда я добавляю логику для добавления в БД, только если Имя не существует.Если существует, вставка не происходит, поэтому свойство ID не заполняется.
Мой вопрос: есть ли способ сделать context.Item (при получении всех) для автоматического обновления идентификатора значения originalItemбез необходимости изменения метода InsertIntoDb для возврата Item и, следовательно, без необходимости добавления строки типа
originalItem = InsertIntoDb(originalItem);
Заранее спасибо