我得到此代码只更新对象的特定字段。
var myEntity = new DBEntity { Id = 1, Field1 = true, Field2 = "Test" };
context.DBEntities.Attach(myEntity);
var entry = context.Entry(myEntity);
entry.Property(x => x.Field1).IsModified = true;
entry.Property(x => x.Field2).IsModified = true;
context.SaveChanges();
这项工作完美无缺。现在我想在我的实体对象中添加一个日志条目,每次有人进行更新时我想在我的日志中跟踪它。
var myEntity = new DBEntity { Id = 1, Field1 = true, Field2 = "Test" };
var logEntry = new DBEntityLog { LogText = "Update to field1 and field2" };
myEntity.Logs.Add(logEntry);
context.DBEntities.Attach(myEntity);
var entry = context.Entry(myEntity);
entry.Property(x => x.Field1).IsModified = true;
entry.Property(x => x.Field2).IsModified = true;
// Property does not work on collection objects
context.SaveChanges();
现在我如何将logEntry保存到数据库中呢?现在它仍然只会更新字段。
答案 0 :(得分:0)
通过获取日志条目并将EntityState设置为已添加来解决问题。
var entryLog = cibtext,Entry(logEntry);
entryLog.State = EntityState.Added;