1

定義使用外鍵實體框架的關係是定義使用外鍵只(引用類型的無虛屬性)與FluentAPI實體框架關係的任何方式(數據模型不應該改變)?只有FluentAPI

CardDataModel

public class CardDataModel 
{ 
    public int CardId { get; set; } 

} 

CheckItemDataModel

public class CheckItemDataModel 
{ 
    public int CheckItemId { get; set; } 
    public int CardId { get; set; } 
} 
+0

我不知道我理解你的問題。導航屬性*是*引用類型的虛擬屬性。 –

+0

Akos Nagy,no。導航屬性是CheckItemDataModel中的CardId。模型不應該改變。定義應該由FluentAPI僅 –

+0

CardId中被稱爲*外鍵屬性*來完成。導航屬性根據定義是保存對另一個關聯的引用的屬性。這裏有一個更詳細的描述:https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/navigation-property –

回答

3

是的,有可能在EF核心。這是不是在EF6及以下,但現在EF Core提供的HasMany/HasOne允許配置這樣的關係參重載:

modelBuilder.Entity<CardDataModel>() 
    .HasMany<CheckItemDataModel>() // <-- note this 
    .WithOne() 
    .HasForeignKey(e => e.CardId); 
-1

你能做到這一點。

public class Card 
{ 
    public int Id { get; set; } 
} 

public class CheckItem 
{ 
    public int Id { get; set; } 
    public int CardId { get; set; } 
    public virtual Card Card { get; set; } 
} 
+0

看來你錯過了OP編寫的部分*沒有引用類型的虛擬屬性* – DavidG

+0

感謝您的回覆,但模型不應該改變,定義應該由Fluent API完成 –

+0

呃..對不起:) – Maritim