オブジェクトの特定のフィールドのみを更新するために、このコードを取得しました。
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 をデータベースに保存するにはどうすればよいですか? 現時点では、フィールドのみを更新します。