c# - 如何仅通过 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时定义包括外键的关系?如何?
解决方案
推荐阅读
- google-apps-script - 生成时间戳后,在时间戳旁边插入文本
- python - 将大型 Spark 数据帧从数据块写入 csv 失败
- java - 当交易被触发时,票务应用程序如何占据席位并释放它们以再次可用?
- react-native - 使用 this.state.array.map 的 React-native 重新加载应用程序空白屏幕
- reactjs - 如何在 react-apollo 中根据上下文使用两个不同的 websocket url?
- python - Python 项目代码中的 self.maxDiff 错误
- .net - 使用 Azure Active Directory 进行身份验证
- php - 多维数组解码中的json合并不起作用
- javascript - 使用 JavaScript 从 url 图像上传 HTML 表单文件
- git - Git:很少有 exe 没有正确结帐