質問: `ProductTypeId`という外部キープロパティを持つProductモデルがあります。しかし、 `ProductType`モデルはあり`ProductType` 。代わりに、私は`TypeListItem`モデルを持っています。 `ProductTypeId`から`TypeListItem`テーブルの`Id`に関係を作成するようEFに依頼したいと`TypeListItem`ます。 私は、これを指定するためにEntity Framework Core Fluent APIを使用したいと思いますが、方法を理解することはできません。私は`HasRequired`を使用していたと思いますが、EFコアでは使用できないと思います。 **問題のモデルは次のとおりです。** ``` 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`モデルに追加する必要があると思いますか?
回答: EFコアでは、 `HasXYZ` / `WithXYZ`メソッドの両方にパラメータなしのオーバーロード( `XYZRequired` / `XYZOptional`ではなくbtw、EF Coreでは`IsRequired()`と組み合わせることができる`XYZOne`を使用)があるため、ナビゲーションプロパティがなくても可能です。 モデルの流暢な構成は、今のところ次のようになります。 ``` modelBuilder.Entity() .HasOne() .WithMany() .HasForeignKey(e => e.ProductTypeId); ```