我为与实体框架完全无关的东西制作了一个测试程序,我认为这很简单的集成变得很麻烦。我有一个名为“ TestEntry ”的数据库表,它包含四个数据字段[Id(唯一标识符),EId(uniqueidentifier),名称,数据],这些字段与任何其他数据库表无关,并且是独立的。< / p>
问题是一个简单的更新,定义如下:
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();
}
}
踩过它之后我注意到了:
关于这可能是什么的任何想法?
答案 0 :(得分:2)
你需要否定条件。
if (!string.IsNullOrEmpty(newEntry.Name))
请注意感叹号。
答案 1 :(得分:2)
不应该是:
if (!string.IsNullOrEmpty(newEntry.Name)) { entry.Name = newEntry.Name; }
if (!string.IsNullOrEmpty(newEntry.Data)) { entry.Data = newEntry.Data; }