C# 实体框架不';不要使用用户的默认模式

C# 实体框架不';不要使用用户的默认模式,c#,.net,sql-server,entity-framework,C#,.net,Sql Server,Entity Framework,在我的SQL Server上,我有一个名为“preview”的用户,该用户具有默认模式“preview”。即使我的连接字符串中有这个用户,实体框架也始终使用dbo模式。这是正常行为还是我的SQL server配置有问题 我知道我可以使用TableAttribute或ModelBuilder定义不同的模式,但我确实试图避免这种情况。对于EF版本,您可以参考DbModelBuilder.hasdaultschema。但这还远远不能自动采用登录用户的默认模式。答案应该是映射规则。据我所知,EF甚至不知

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


我知道我可以使用
TableAttribute
ModelBuilder
定义不同的模式,但我确实试图避免这种情况。

对于EF版本,您可以参考DbModelBuilder.hasdaultschema。但这还远远不能自动采用登录用户的默认模式。答案应该是映射规则。据我所知,EF甚至不知道用户的默认模式。@GertArnold我同意,但也许可以根据活动用户在runtima中配置默认模式。。对OPs需求了解不够,但是如果只有一个用户在使用DbContext,他应该能够为活动用户设置默认模式。半自动,但仍然避免将模式硬编码到每个表中。我唯一的要求是在运行时更改模式。因此,
Db.ModelBuilder.hasdaultschema
可能是一个好的解决方案。我现在来看看EF6 Alpha版本。谢谢你的帮助。我刚刚升级到EF 6-alpha3,并试用了新的
ModelBuilder.HasDefaultSchema
,效果非常好。这对我来说是个好办法。再次感谢。->
DbModelBuilder.hasdaultschema
非常适合我,谢谢