2016-11-12 51 views
0

我有一個名爲ProductTypeId的外鍵屬性的產品模型。但是,我沒有ProductType模型。相反,我有一個TypeListItem模型。我想告訴EF仍然創建從ProductTypeIdId,TypeListItem表中的關係。使用Entity Framework Core Fluent API映射外鍵帶有不同名稱

我想使用實體框架核心流利的API來指定這一點,但無法弄清楚如何。我相信我曾經使用過HasRequired,但我不認爲EF Core可用。

這裏是有問題的型號:

public class Product 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public int ProductTypeId { get; set; } 
} 

public class TypeListItem 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

我認爲我可能需要的TypeListItem導航屬性添加到Product模型,使這個可能嗎?

+0

你能在問題發佈樣本模型類? –

+0

@IvanStoev我更新了我的帖子以顯示此內容。 –

回答

0

在EF核心有可能即使沒有導航屬性,因爲無論HasXYZ/WithXYZ方法具有參數的重載(順便說一句,而不是XYZRequired/XYZOptional,EF核心使用XYZOne可與IsRequired()組合)。

您的模型流暢的配置,現在是這樣的:

modelBuilder.Entity<Product>() 
    .HasOne<TypeListItem>() 
    .WithMany() 
    .HasForeignKey(e => e.ProductTypeId); 
+0

這沒有爲我工作 –

相關問題