实体框架反向POCO生成器 - 自定义导航属性

时间:2017-11-14 16:59:00

标签: c# entity-framework ef-code-first poco

我目前正在使用一个错过两个表之间关系的旧数据库。

基本上,我有一个'项目'和供应商的表格#39;使用各自的主键。

然而,'项目'表格包含字段' VendorNumber'用于映射到供应商'表 。 这种关系并未在数据库中强制执行,但我仍然希望使用“供应商”这一关系。作为'项目'的导航属性。

我正在使用'反向POCO生成器'但是我无法弄清楚如何强制使用'强制'它生成导航属性。

我尝试过制作另一个“物品配置”#39;包含属性的部分类,但是在“项目配置”中设置了它。构造函数,我无法实现所需的功能。

非常感谢任何帮助/见解!

1 个答案:

答案 0 :(得分:1)

创建一个分部类,并从Item

添加与Vendor的关系
public partial class Item
{
    public virtual Vendor ItemVendor { get; set; } 
}

为配置创建一个分部类,为生成的部分类从构造函数调用的InitializePartial方法提供

public partial class ItemConfiguration : System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<Item>
{
    partial void InitializePartial()
    {
        HasOptional(a => a.ItemVendor).WithMany().HasForeignKey(a => a.VendorNumber).WillCascadeOnDelete(false); 
    }
}

您的Item类现在将填写一个ItemVendor字段。