【问题标题】:EF CF Linq-to-Sql, save an attached child entity? (.NET 4)EF CF Linq-to-Sql,保存附加的子实体? (.NET 4)
【发布时间】:2012-11-12 17:13:44
【问题描述】:

我得到这个代码来只更新对象的特定字段。

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 也保存到数据库中?现在它仍然只会更新字段。

【问题讨论】:

    标签: linq entity-framework linq-to-sql ef-code-first


    【解决方案1】:

    通过获取日志条目并将 EntityState 设置为已添加解决了问题。

    var entryLog = cibtext,Entry(logEntry); 
    entryLog.State = EntityState.Added;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多