实体框架4中的单向一对多关联?

时间:2010-05-30 07:21:34

标签: c# entity-framework-4 associations

EF 4是否支持单向一对多关联,如:

public class Parent
{
  public int Id { get; set; }
  public string Something { get; set; }
  public List<Child> AllMyChildren { get; set; }
}

public class Child
{
  public int Id { get; set; }
  public string Anotherthing { get; set; }
  // I don't want a back-reference to the Parent!
  // public int ParentId { get; set; }
}

当我尝试使用父级和子级之间的关联编译我的项目时,其中End2 Navigation为空(因为我取消选中了Add Association对话框中的End2 Navigation Property复选框),我得到了

错误2027:未为以下EntitySet / AssociationSet指定映射 - Child。

更新

如果我在Parent而不是List上有一个List或类似的属性怎么办?我是否需要创建一个包装类型来保存String,以便我也可以保持对Parent的反向引用?

1 个答案:

答案 0 :(得分:2)

相信这可以使用Fluent API(只有定义单向关联的方法)

modelBuilder.Entity<Child>()
.HasKey(t => t.Id);

modelBuilder.Entity<Parent>()
.HasMany(p => p.AllMyChildren)
.WithRequiredPrincipal();

http://msdn.microsoft.com/en-us/library/hh295843(v=VS.103).aspx