我正在使用EntityFramework,我必须简化如下的类:
public class Class1
{
public int Id { get; set; }
public int Class2_Id { get; set; }
[ForeignKey("Class2_Id")]
public virtual Class2 Class2 { get; set; }
}
public class Class2
{
public int Id { get; set; }
public string Name { get; set; }
}
在设置db.SaveChanges()
属性之前,我可以在致电Class1.Class2.Id
之前自动设置Class1.Class2
吗?我希望实现这一目标,而无需将此逻辑放在Class1.Class2
属性的setter中。
答案 0 :(得分:0)
您可以从DbContext创建部分类扩展并覆盖SaveChanges
public partial class YourEntities : DbContext
{
public override int SaveChanges()
{
var Class1 = ChangeTracker.Entries().Where(
e => e.State == EntityState.Added &&
e.Entity is Class1);
// Class1.Class2.Id // your logic ...
return base.SaveChanges();
}
}