У меня очень быстрый вопрос. При выборе записи в EF 7 RC2, похоже, она не включает вновь добавленную запись.EF7 RC2 linq select не включает недавно добавленную запись
Вот мой код:
public tblCategory AddOrUpdateCat(ref DbLocal ef, int catId, string catName, int catType)
{
tblCategory db = ef.tblCategories.FirstOrDefault(rec => (rec.CatId == catId));
if (db == null)
{
db = new tblCategory();
db.CatId = catId;
ef.tblCategories.Add(db);
}
db.Name = catName;
db.CatType = catType;
ef.SaveChanges();
return db;
}
Второй раз вызов функции с тем же CatID бросает исключение:
Исключение брошено: 'System.InvalidOperationException' в Microsoft.EntityFrameworkCore. dll
Дополнительная информация: Экземпляр объекта типа 'tblCategory' не может быть отслежен, потому что другой экземпляр этого тип с тем же ключом уже отслеживается. При добавлении новых объектов, для большинства типов ключей уникального
Это потому, что второй раз, вызывая ef.tblCategories.FirstOrDefault(rec => (rec.CatId == catId))
с тем же идентификатором не будет получать новый добавленную запись.
Это поведение отличается оттого, что в RC1. Любая идея, как сделать так, чтобы он вел себя как в RC1?
Спасибо!
Кто говорит, что RC1 правильно себя? И почему вы все еще используете EF7 (Core) RC2? –