相关疑难解决方法(0)

使实体框架模型跨越多个数据库

做某些事情是否有效

CREATE SYNONYM [dbo].[MyTable] FOR [AnotherDatabase].dbo.[MyTable]

然后修改Entity Framework的edmx文件以读取此对象,就像任何其他表一样?

我做了一个快速的样本测试,它似乎在选择和更新时工作正常,但我想知道是否有任何理由我不应该这样做

我通过创建指向第二个数据库的edmx文件,在那里构建实体,然后将定义复制/粘贴到第一个数据库的edmx文件中来获取表定义.

UPDATE

如果有人有兴趣,我写下了我在这里制作edmx文件跨越多个数据库所做的工作.它包括用于生成同义词和合并edmx文件的脚本.

sql-server entity-framework synonym multiple-databases

29
推荐指数
1
解决办法
2万
查看次数

实体框架代码首先使用SQL Server同义词

我有这样的情况,我将有多个公司访问我的应用程序的单个实例,但我需要隔离他们的数据,以避免意外地为另一家公司加载数据,并简化每个公司的数据库备份.

理想情况下,我想将数据拆分到不同的数据库中,如下所示:

  • 一个SQL Server数据库,包含所有用户的列表,以及所有用户/公司通用的任何表

  • N个公司特定的数据库,每个数据库具有相同的模式,但每个公司的数据不同.登录时,我会动态选择特定用户公司的数据库

我希望能够查询公司特定的数据表,但是可以在共享数据库上执行连接(例如,我可以将外键存储在公司数据库表中,该表连接到共享表的主键上另一个数据库).

我发现了SQL Server同义词,看起来他们可以完成这项工作,似乎我可以通过在SQL Server Management Studio中使用查询成功地在两个数据库之间加入.

是否可以在Entity Framework Code First中使用同义词表,如果是这样,我的POCO类/ DbContext需要看起来像什么?

谢谢 :)

sql-server entity-framework synonym code-first

8
推荐指数
1
解决办法
4189
查看次数