5

我正在构建一个新系统,该系统利用现有遗留系统中的数据。要求我们的应用程序使用相同的物理数据库但不同的架构进行隔离。我们的应用程序只需要来自 dbo 模式的读取访问权限,但我们的新结构将具有来自 dbo 模式的外键,因此我们需要强制执行。

我计划创建两个不同的项目,有两种不同的背景。这将有助于在 dbo 架构上使用 EF Power Tools 的逆向工程师代码优先,并在我们的新架构上使用 EF 迁移。但是,我不确定这种方法将如何处理跨上下文/域的外键。我将如何映射这些以便迁移正确解释它?

4

1 回答 1

1
  1. 如果您使用不同的架构和\或不同的上下文,这意味着这些数据可以存储在任何地方,甚至可以存储在不同的存储(文件、天蓝色、服务)中。您不应跨上下文/域使用显式外键。您必须对每个上下文进行单独的查询。
  2. 如果您确实需要这样做,您可以将数据库视图与您需要的任何连接一起使用(甚至来自其他服务器)。然后只需映射我们的 EF 实体即可查看:

    [表(“我的视图”)]

    公共类 MyEntity {...}

显然,它将是只读实体。

于 2016-05-06T08:06:18.147 回答