4

使用PostgreSQL,我可以对特定模式中的表执行查询,或者一次跨多个模式执行查询。我想知道如何处理两种情况:

  1. 使用 Linq to EF 执行查询时,如何指定多个模式或单个模式?
    • 我想我也许可以执行一些连接字符串巫术,但似乎很快就会变得非常难看。
  2. 您如何为多个模式执行实体迁移?
    • 您可以在对象上将模式指定为 a DataAnnotation(通过[Table]),但不能一次指定多个模式(据我所知)。

任何帮助都非常感谢。

4

1 回答 1

1

对于 #1,没有办法直接在 Linq-To-Entities 查询中使用模式。我相信他们在 EF6 中添加了一些功能,但我猜你不想等到那时。

有一种解决方法,我在 SQL Server 2008 中使用过Synonyms(我相信 PostgreSQL 也有Synonym功能)。

For example, if your table names are dbo.Address and read.Address, you would create a Synonym for read.Address, named read.Address_read, then you would add the Synonym to your EF datamodel, instead of the table itself. This gives you the ability to perform any and all queries against multiple schemas at once, because EF thinks these tables have different names.

于 2013-07-31T13:47:45.877 回答