实体框架中的Postgresql表继承

Mar*_*fia 3 postgresql npgsql entity-framework-core

我想知道是否可以在实体框架 7 中进行 postgres 表继承 - 而不是添加列,而是使用基表和继承基表的表来执行“真正的”postgres?

如果是这样,我该如何配置?

干杯,马里奥

Sha*_*sky 5

这绝对是不支持的。理论上,您可以通过继承(因此在 EFCore 之外)自行创建数据库模式,然后将 CLR 实体映射到该模式,而 EFCore 不知道有关表继承的任何信息。但是,如果 CLR 类本身相互继承(通常应该如此),则可能会触发 EFCore 自己的继承功能,这将使一切变得混乱。如果有某种方法告诉 EFCore 忽略 CLR 继承,您也许可以摆脱它。

至于 EFCore 实际上意识到 PostgreSQL 继承的更完整的解决方案,这可能是一项相当大的任务,这可能涉及 EFCore 本身(而不仅仅是 Npgsql 提供程序)的更改。

你能打开一个问题吗?我肯定不会很快有时间做这件事,但把它列入清单是件好事。

  • 仅供参考 EF Core 问题跟踪:https://github.com/dotnet/efcore/issues/10739 (3认同)