4.4 SaveChanges排除相关实体
本文关键字:实体 排除 SaveChanges | 更新日期: 2023-09-27 18:06:20
我使用EntityFramework.dll版本4.4与。net 4.0。我有一个实体,它包含对另一个实体的引用,如下所示:
[Table("Bar")]
public class Bar
{
public string Id { get; set; }
public Foo Foo { get; set; }
[ForeignKey("Foo")]
public string FooId {get; set; }
}
当我想添加一个新的"Bar"记录到数据库,EntityFramework尝试添加"Foo"的实例,但我不希望它这样做。是否有一种方法告诉EF忽略Foo实体时,酒吧被创建?我不想在Foo上设置[NotMapped],因为它确实需要被映射——这只是我不想让它保存。所以我想让下面的工作:
public void CreateBar(Bar b)
{
_barContext.Bars.Add(b);
// This function doesn't exist, but I would like it to exist
_barContext.Exclude("Foo");
_barContext.SaveChanges();
}
您可以使用NotMapped属性,参见http://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.schema.notmappedattribute(v=vs.110).aspx