实体框架:如何为同一个实体使用多个表

本文关键字:实体 框架 同一个 | 更新日期: 2023-09-27 18:09:19

我的情况如下我正在使用实体框架(4.0),其中我定义了一个相对简单的模型,比如,两个实体:

    用户
  • 交易

在此场景中,用户可以有多个事务。当生成数据库时,这将导致(显然)两个数据库表名称为'user'和'transaction'。

问题是,我想使用代码作为一个web服务,其中不同的公司应该有自己的环境(读:自己的用户和事务)。一个简单的解决方案是在两个表中添加一个列,比如'company_id'来标识一个用户/事务/companyb的用户/事务。

我想要的是像这样的表的复制:

  • compa_user
  • compa_transaction
  • compb_user
  • compb_transaction

这样,所有的数据将被很好地分离,如果公司a产生大量的交易,公司b不会注意到系统变慢或其他问题。

我的问题是:是否有一种基于实体框架的方法来实现这一点。那么,我是否可以使用多个表来表示模型中的一个实体,并根据连接到服务的公司从一个表切换到另一个表?

感谢任何帮助!

实体框架:如何为同一个实体使用多个表

如果您真的想保持表的分离,那么为每个客户端创建一个单独的数据库将是最简单的-只需要更改EF中的连接字符串。

这个模型(单独的数据库)的另一个好处是,数据库将很容易扩展,因为理论上每个数据库都可以在不同的数据库服务器上,如果数据库成为瓶颈的话。