【问题标题】:Entity Framework Reverse POCO Generator - Custom Navigation Property实体框架反向 POCO 生成器 - 自定义导航属性
【发布时间】:2018-04-27 17:27:18
【问题描述】:

我目前使用的旧数据库缺少两个表之间的关系。

基本上,我有一个“项目”表和一个“供应商”表,它们有各自的主键。

但是,“Items”表包含一个“VendorNumber”字段,用于映射到“Vendors”表 . 这种关系在数据库中没有强制执行,但我仍然想使用“供应商”作为“项目”的导航属性。

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

我尝试制作另一个包含该属性的“ItemConfiguration”部分类,但由于它是在“ItemConfiguration”构造函数中设置的,因此我无法实现所需的功能。

任何帮助/见解将不胜感激!

【问题讨论】:

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


【解决方案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 字段。

【讨论】:

    猜你喜欢
    • 2011-04-19
    • 1970-01-01
    • 2020-11-21
    • 2013-10-28
    • 2013-12-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    相关资源
    最近更新 更多