我有 2 节课:
public class Entry{
...
public virtual IsDeleted {get;set;}
public virtual int MyClsId {get;set;}
public virtual MyClass MyCls {get;set;}
}
public class MyClass{
...
public virtual ICollection<Entry> Entries {get;set;}
}
当我从 MyClass.Entries 中删除一个项目时,我实际上并不想删除它,也不想杀死它。我只想将 Entry.IsDeleted 设置为 true,并且我仍然希望 Entry 保留 myClass 的 ID;
myClassObj.Entries.Remove(myEntry); // after this line myEntry.MyCls.Id
// should stay intact. myEntry.IsDeleted
// should be set to true;
我怎样才能做到这一点?我尝试使用拦截器,但无法使其正常工作。
编辑
映射:
除了表格映射我使用的字段:
MyClassMap : ...
{
HasMany(x => Entries).KeyColumn("MyClsId");
}