将多个实体映射到一个表

本文关键字:一个 实体 映射 | 更新日期: 2023-09-27 18:09:47

在我的应用程序中,我有一个实体,例如Customer,它映射到Customer。现在可以正常工作了。

我们的计划是提供我们当前的项目作为另一个客户项目的参考。客户端项目也有一个Customer表,但是有一些额外的列。在客户端项目中创建另一个Customer实体会抛出错误"两种类型都有简单的名称"。

可以用继承来解决吗?或者EF是否允许我们创建具有不同名称的类并将其映射到同一个表,例如Customer和CustomerClient都映射到Customer表,但CustomerClient添加了额外的列。

编辑:我将尝试提供代码一旦我在办公室。

将多个实体映射到一个表

这听起来像实体框架继承是你正在寻找的,特别是TPH(每层次表),这是在实体框架中实现继承的方式,所有派生实体映射到同一个表。

TPT (Table Per Type)是另一个选项,其中所有派生类都映射到基类表旁边的它们自己的表。

如果您正在寻找有关实现TPH的更多信息,并且您正在首先使用EF代码,这是一个很好的链接,如果您正在使用设计器,您可以使用此链接。

这是一个如何选择EF继承策略的教程。
注意:我没有提到TPC(每个具体类的表)策略,这也是在这篇文章中描述的,因为我不认为这是你正在寻找的。

这是一个很棒的视频课程教程,涵盖了EF继承,首先使用代码和设计器等等。

希望有帮助!