首页 > 解决方案 > 如何仅通过 id 正确定义多对多 EF Core 2.2 配置?

问题描述

使用 Entity Framework Core 2.2 的项目包含一对具有多对多关系的实体。

实体如下:

class Feature
{
    int Id { get; set;}
}
class House
{
   int Id { get; set; }
   ICollection<int> FeatureIds { get; set; }
}

由于 EF Core 本身还不支持多对多关系,因此我创建了一个联接类。

class HouseFeature
{
    int FeatureId { get; set; }
    int HouseId { get; set; }
}

这三个类中没有一个包含另一个实体的属性,只有它的 id。该Feature实体既不包含 的列表houses

的配置类HouseFeature如下所示:

class HouseFeatureConfiguration : IEntityTypeConfiguration<HouseFeature>
{
    void Configure(EntityTypeBuilder<HouseFeature> houseFeatureConfiguration)
    {
    }
}

如何配置 EF Core 关系?

我发现的所有示例都需要像Feature Feature { get; set; }. int FeatureId { get; set; }我对这些没有用处,Feature Feature { get; set; }所以我宁愿不在模型中使用它们。id是否可以在仅具有 -fields时定义包括外键的关系?如何?

标签: c#entity-frameworkentity-framework-core

解决方案



推荐阅读