我们遇到了将Web应用程序部署到另一个环境的小问题。 我们使用实体框架代码优先方法(使用模型创建的数据库自动创建)来创建应用程序的数据库。 在此开发环境中,我们正在使用集成安全性,并且这些表是在dbo用户下创建的。该表是像
[DBO]。[myTable的]实体框架代码优先和数据库用户
对于我们其他的环境中,我们使用用户名/密码认证的数据库。 我们编写了表格并在DB上创建了它们。所以他们现在命名为喜欢
[myDbUser]。[myTable的]
运行应用程序时,我们总是会遇到的问题
无效的对象名称DBO。 myTable的”。
似乎代码仍在尝试寻找一个dbo表,它不存在,因此失败。
谁能解释一下这个问题吗?实体框架从哪里获取这个dbo前缀?
感谢
指定架构和你将如何在流利做到这一点? (没有属性) – Ronald 2011-06-05 19:40:30
Littlefool,重写OnModel创建你的数据库上下文类并在那里指定映射。这里是一个例子:http://weblogs.asp.net/scottgu/archive/2010/07/23/entity-framework-4-code-first-custom-database-schema-mapping.aspx – 2011-06-05 19:47:25
我试过了。唯一的事情是,当我调试我看到代码永远不会在OnModelCreating方法。我的印象是它从一些缓存源获取模型。 – Ronald 2011-06-05 20:02:30