【问题标题】:How to map many tables with same schema to one class如何将具有相同架构的多个表映射到一个类
【发布时间】:2009-03-30 22:54:32
【问题描述】:

在实体框架或 linq to sql 类中是否有一种方法可以将一个类映射到具有相同架构的许多不同表。例如,如果我有一个包含数千个不同股票表的数据库。所有表都有相同的列。有没有一种方法可以让我拥有一个可用于将数据映射到对象的基类型类。我显然不想只用表名来制作数千个不同的类。表格也发生了变化,即添加了新的表格,并且某些表格的名称不时更改。所以理想情况下,我只有一个类,当我请求它时,我可以传入一个符号,它将它映射到正确的表。

谢谢

【问题讨论】:

    标签: c# database linq-to-sql entity-framework


    【解决方案1】:

    这似乎是一个愚蠢的数据库设计,它会给您带来更多的问题,而不仅仅是这个。如果所有数据都相同,那么它们应该在一个表中。是否对单个表的物理存储进行分区是一个低级别的实现问题,而不是应该显示在架构中的东西。

    我什至不知道你会如何告诉 EF 你已经添加了一个新表,并且要像对待所有其他表一样对待它。它只是没有太多意义。

    【讨论】:

    • 对我来说,把每一种金融工具的每一个刻度都放在一张桌子上似乎是一个非常糟糕的设计。然后,对于符号上的每个数据请求,您都必须过滤该表而不是仅请求一个表
    • SQL Server 等 DBMS 擅长“过滤”。您只需在股票代码上有一个索引,而不会考虑其他行。这就是他们所做的
    • 是的,你当然是对的。 db 设计通常不是我的重点。谢谢
    猜你喜欢
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 1970-01-01
    相关资源
    最近更新 更多