2011-01-19 43 views
2

我使用EF 4 CTP 5与MVC 3应用程序,一切都在我的本地机器上工作得很好,EF 4只是创建或删除SQL CE时,它需要的,因为我已经将选项设置为DropCreateDatabaseIfModelChanges。但是我现在试图将我的mvc应用程序部署到托管环境,我已经在其中创建了数据库,但数据库是空的。看起来代码无法删除,并在我的主机环境中重新创建数据库,我应该如何解决这个问题?实体框架4 CTP 5 POCO - 在宿主环境中使用现有的但空的SQL数据库?

更新:

这里的连接字符串SQLEXPRESS:

<add name="KennySax" 
    connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI; 
         database=KennySax; 
         AttachDBFilename=|DataDirectory|KennySax.mdf; 
         User Instance=true" 
    providerName="System.Data.SqlClient" /> 

感谢。

+0

重新创建数据库功能在开发过程中使用,不是吗?你为什么要在你的部署环境中使用它? – bzlm 2011-01-19 22:28:15

+0

那我应该用什么?我的主机环境中的数据库目前是空的(其中没有表),我不想手动创建表和关系,是不是“代码优先”应该做什么?谢谢。 – Saxman 2011-01-19 22:32:11

+1

+1好问题。 – 2011-01-19 22:39:20

回答

1

嗯,我不知道我做了什么,好像机器的重新启动解决了这个问题。我能够让SQLEXPRESS创建数据库并在托管服务器上运行脚本。谢谢。其他

1

通常在托管环境没有permissinons修改数据库结构运行的应用程序。因此,您可以在自己的环境中运行应用程序,并使用Management Studio连接到SQL CE。然后从您的数据库生成SQL脚本并在托管环境中手动运行该脚本。我希望它能与SQL CE一起工作 - 它肯定会与SQL Express一起工作。