实体框架代码首先和数据库用户

Ron*_*ald 12 db-schema entity-framework-4.1

我们遇到了将Web应用程序部署到另一个环境的小问题.我们使用Entity Framework Code First方法创建了应用程序的数据库(db自动从模型创建).在此开发环境中,我们使用集成安全性,并在dbo用户下创建表.这些表就像
     [dbo].[myTable]

对于我们的其他环境,我们使用DB的用户名/密码身份验证.我们编写了表格并在数据库上创建了它们.所以他们现在的名字就像
     [myDbUser].[myTable]

运行应用程序时,我们总会遇到问题
     无效的对象名称'dbo.myTable'.

似乎代码仍然试图寻找一个不存在的dbo表,因此失败了.

任何人都可以解释这个问题吗?Entity Framework从哪里获取此dbo前缀?

谢谢

Kon*_*kus 17

明确指定架构:

[Table("Users", Schema = "dbo")]
public class User { .. }
Run Code Online (Sandbox Code Playgroud)

或者为用户指定默认的数据库架构 - 'dbo'