C# 具有相同结构实体框架的多个表

C# 具有相同结构实体框架的多个表,c#,.net,entity-framework,C#,.net,Entity Framework,我们有一个数据库,其中有多个具有相同结构的表 表1 密钥ID 表2 密钥ID 根据配置,表的数量可以是动态的 我正在尝试将数据访问层升级到实体框架。我创建了一个表示表结构的类。我的计划是对所有具有相同结构的表使用相同的类。Bubt我找不到足够的关于如何做到这一点的信息。我的理解是,我只能将一个类映射到一个表 使用实体框架有什么方法可以实现这一点吗?简单的方法是:拥有一个包含所有属性的抽象基类,并映射具体类型: public abstract class BaseClass { public

我们有一个数据库,其中有多个具有相同结构的表

表1 密钥ID

表2 密钥ID

根据配置,表的数量可以是动态的

我正在尝试将数据访问层升级到实体框架。我创建了一个表示表结构的类。我的计划是对所有具有相同结构的表使用相同的类。Bubt我找不到足够的关于如何做到这一点的信息。我的理解是,我只能将一个类映射到一个表


使用实体框架有什么方法可以实现这一点吗?

简单的方法是:拥有一个包含所有属性的抽象基类,并映射具体类型:

public abstract class BaseClass
{
   public int Id { get; set; }
   public string StringField { get; set; }
   /* Other fields */ 
}

[Table("Table1")]
public class Table1 : BaseClass
{
}

[Table("Table2")]
public class Table2 : BaseClass
{
}

我不是在回答这个设计是好是坏(我不会像你解释的那样说我喜欢它),我只是在回答这个问题,现在我在EF Core中成功地使用了一种完全不同的方法:


创建一个参数化存储过程,该过程使用一些动态SQL返回所需的实际表,并使用FromSql功能。

为什么不规范化数据库表?为具有相同结构的所有表创建一个视图。将EF实体映射到此视图。@IntoNET:数据库非常复杂,无法更改。谢谢您的回复。我要试试这个。