问题描述
我目前正在尝试弄清楚如何使用 Fluent API 将当前数据库 ERD 映射到 C# 类关系。我熟悉 EF Core 的基础知识,但无法解决这个问题。这是我的 ERD 的一个例子:
| tbl_elements |
|---------------|
| element_id |
| last_modified |
| tbl_poles |
|---------------|
| pole_id |
| color |
| height |
| tbl_towers |
|---------------|
| tower_id |
| color |
| type |
我想像这样映射它们:element_id :pole_id 和 element_id: Tower_id。
但是,当我使用这种方法 One-To-One 时,我在 tbl_poles 和 tbl_towers 中都得到了一个外键,我不想要这个。 我也尝试使用 Inheritance 但后来我不能再使用 tbl_elements 但我需要数据库中的所有表。我在互联网上搜索解决方案并尝试了所有提供的解决方案,但没有找到任何解决方案。我发现了这个:solution,但就像我说的,我需要父类是一个单独的表而不是合并。
提供更多上下文:我正在尝试读取 shapefile.shp 并提取所有特征并将它们放入相应的表中。
解决方法
直到 .NET 5 EF Core 只支持 Table-Per-Hierarchy 继承模型。但现在它也支持 Table-Per-Type,配置起来也很容易。
检查 Microsoft Docs。