【问题标题】:Entity Framework doesn't use users default schema实体框架不使用用户默认架构
【发布时间】:2013-05-01 18:54:28
【问题描述】:

在我的 SQL Server 上,我有一个名为“preview”的用户,它具有默认架构“preview”。即使我的连接字符串中有这个用户,实体框架也总是使用 dbo 模式。这是正常行为还是我的 SQL 服务器配置有问题?

我知道我可以使用 TableAttribute 或 ModelBuilder 定义不同的架构,但我真的尽量避免这种情况。

【问题讨论】:

    标签: c# .net sql-server entity-framework


    【解决方案1】:

    【讨论】:

    • 您参考 DbModelBuilder.HasDefaultSchema。但这距离自动采用登录用户的默认模式还很遥远。答案应该是映射规则。据我所知,EF 甚至不知道用户的默认架构。
    • @GertArnold 我同意,但也许可以根据活动用户在 runtima 中配置默认​​模式。对 OPs 要求知之甚少,但如果只有一个用户使用 DbContext,他应该能够为活动用户设置默认模式。半自动,但仍避免将架构硬编码到每个表中。
    • 我唯一的要求是在运行时更改架构。所以Db.ModelBuilder.HasDefaultSchema 可能是一个很好的解决方案。我现在来看看 EF 6 Alpha 版本。感谢您的帮助。
    • 我刚刚升级到 EF 6-alpha3 并尝试了新的 ModelBuilder.HasDefaultSchema,它运行良好。这对我来说是一个很好的解决方案。再次感谢。
    • --> DbModelBuilder.HasDefaultSchema 非常适合我,谢谢
    猜你喜欢
    • 1970-01-01
    • 2012-07-04
    • 2012-12-26
    • 1970-01-01
    • 2013-09-26
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    相关资源
    最近更新 更多