2016-11-12 8 views
0

ProductTypeIdという外部キープロパティを持つProductモデルがあります。しかし、私はProductTypeモデルを持っていません。代わりに、TypeListItemモデルがあります。私はまだProductTypeIdからIdまでTypeListItemのテーブルに関係を作成するようEFに伝えたいと思います。Entity Framework Core Fluent APIを使用した別の名前の外部キーのマッピング

これを指定するためにEntity Framework Core Fluent APIを使用したいと思いますが、その方法を理解することはできません。私はHasRequiredを使用していたと信じていますが、EFコアでは利用できないと思います。私は私がこれを可能に権利を作るためにProductモデルにTypeListItemのナビゲーションプロパティを追加する必要があるかもしれません信じてい

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; } 
} 

ここで問題になっているモデルがありますか?

+0

あなたが質問にサンプルモデルクラスを投稿することができますか? –

+0

@IvanStoevこれを表示するために私の投稿を更新しました。 –

答えて

0

はEFコアでは、両方のHasXYZ/WithXYZ方法は、パラメータなしのオーバーロードを持っているので(ところで、/ XYZOptionalなくXYZRequired、EFコアIsRequired()と組み合わせることができるXYZOneを使用)もナビゲーションプロパティなしで可能です。

それが今である方法は、お使いのモデルのために流暢な設定:

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

これは私にとっては役に立たなかった –

関連する問題