Я сделал тестовую программу для чего-то совершенно не связанного с Entity Framework, и то, что я думал, будет простой интеграцией, оказалось проблематичным. У меня есть таблица БД с именем « TestEntry », которая содержит четыре поля данных [Id (uniqueidentifier), EId (uniqueidentifier), Name, Data], они не связаны с любыми другими таблицами базы данных и являются автономными.
Проблема представляет собой простое обновление, которое определяется следующим образом:
EDMEntities _db = new EDMEntities();
public List<TestEntry> GetEntities()
{
return _db.TestEntries.ToList();
}
public void EditEntry(TestEntry newEntry)
{
TestEntry entry = _db.TestEntries.FirstOrDefault(e => e.Id == newEntry.Id);
if (string.IsNullOrEmpty(newEntry.Name)) { entry.Name = newEntry.Name; }
if (string.IsNullOrEmpty(newEntry.Data)) { entry.Data = newEntry.Data; }
if (entry.EntityState == System.Data.EntityState.Modified)
{
_db.SaveChanges();
}
}
Пройдя через это, я заметил:
- Ни запись. Имя , ни запись. Данные обновляются со значениями из newEntry
- EntityState остается неизменным, поэтому не входит в условное
Есть идеи о том, что это может быть?