C# EF6代码首先没有映射我的M-0关系SIP
我希望能够键入C# EF6代码首先没有映射我的M-0关系SIP,c#,entity-framework,C#,Entity Framework,我希望能够键入SupplyPoint.SupplyPointMeters,并将后者作为一个集合。Code First已经创建了表并正确设置了外键,但我希望能够通过这种方式访问SupplyPoint.SupplyPointMeters 总之,SupplyPoint仪表总是有一个SupplyPoint,但是SupplyPoint可以有0或更多SupplyPoint仪表。一切正常,但我希望关系自动连接起来,以支持点表示法 public partial class SupplyPointMeter {
SupplyPoint.SupplyPointMeters
,并将后者作为一个集合。Code First已经创建了表并正确设置了外键,但我希望能够通过这种方式访问SupplyPoint.SupplyPointMeters
总之,SupplyPoint仪表
总是有一个SupplyPoint
,但是SupplyPoint
可以有0
或更多SupplyPoint
仪表。一切正常,但我希望关系自动连接起来,以支持点表示法
public partial class SupplyPointMeter
{
[Key]
public int SupplyPointMeterId { get; set; }
public int SupplyPointId { get; set; }
[Key,ForeignKey("SupplyPointId")]
public virtual SupplyPoint SupplyPoint { get; set; }
}
public partial class SupplyPoint
{
[Key]
public int SupplyPointId { get; set; }
public virtual ICollection<SupplyPointMeter> SupplyPointMeters { get; set; }
}
公共部分类供应点计
{
[关键]
public int SupplyPointMeterId{get;set;}
public int SupplyPointId{get;set;}
[Key,ForeignKey(“SupplyPointId”)]
公共虚拟供应点供应点{get;set;}
}
公共部分类供应点
{
[关键]
public int SupplyPointId{get;set;}
公共虚拟ICollection SupplyPointMeters{get;set;}
}
这样试试
public class SupplyPointMeter
{
public int Id { get; set; }
public virtual SupplyPoint SupplyPoint { get; set; }
}
public class SupplyPoint
{
public int Id { get; set; }
public virtual ICollection<SupplyPointMeter> SupplyPointMeters { get; set; }
}
公共类供应点计
{
公共int Id{get;set;}
公共虚拟供应点供应点{get;set;}
}
公共类供应点
{
公共int Id{get;set;}
公共虚拟ICollection SupplyPointMeters{get;set;}
}
我建议您使用:
这将生成以下表格
你能再解释一下这个问题吗?为什么您不能访问
mySupplyPoint.SupplyPointMeters
?当我访问SupplyPoint.SupplyPointMeters时,表SupplyPointMeters中有一个列表,但没有字段名,这是因为SupplyPoint.SupplyPointMeters
是一个集合,而不是单个实体。尝试以下操作:mySupplyPoint.SupplyPointMeters.FirstOrDefault().SupplyPointMeterId
modelBuilder.Entity<SupplyPoint>()
.HasMany(sp => sp.SupplyPointMeters)
.WithRequired(spm => spm.SupplyPoint)
.HasForeignKey(spm => spm.SupplyPointId);
public partial class SupplyPointMeter
{
public int SupplyPointMeterId { get; set; }
public int SupplyPointId { get; set; }
public virtual SupplyPoint SupplyPoint { get; set; }
}
public partial class SupplyPoint
{
public int SupplyPointId { get; set; }
public virtual ICollection<SupplyPointMeter> SupplyPointMeters { get; set; }
}