如何创建没有外键和列的导航属性的命名方式不同

时间:2015-08-11 19:56:12

标签: c# entity-framework ef-code-first navigation-properties

例如,我有2个表:

public class Entity1
{
    public decimal SodaId { get; set; }
    public virtual Entity2 Entity2 { get; set; } 
}

public class Entity2
{
    public decimal Id { get; set; }
    public string PopId { get; set; }
    public virtual ICollection<Entity1> Entity1 { get; set; }
}

1&amp; 2有一对多的关系。 PopId是Entity1的外键。在数据库中没有设置FK关系。由于列名不同,EF不会自动查看关系。

我想为这两个表设置导航属性,但是我很难搞清楚如何这样做?我想先使用Fluent API和代码这样做。任何帮助是极大的赞赏。

1 个答案:

答案 0 :(得分:0)

在您的表格中,您说实体2可以有多个实体1

public class Entity1
    {
        public decimal SodaId { get; set; }
        [ForeignKey("Entity2")]
        public int Id { get; set; }
        public virtual Entity2 Entity2 { get; set; }
    }


public class Entity2
    {
        public int Id { get; set; }
        public string PopId { get; set; }
        public virtual ICollection<Entity1> Entity1 { get; set; }
    }

这应该可以正常工作......