mvc3和实体部署 - 实体是否会创建表?

时间:2011-09-23 18:36:51

标签: asp.net-mvc-3 entity-framework

我对这一切都是新手,所以这可能是一个愚蠢的问题。

我正在部署mvc3应用。本地我有两个数据库,一个是内置的,包含用户/成员/角色等,另一个是我的dbcontext。

本地连接:

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
<add name="MembershipExtContext" connectionString="Data Source=|DataDirectory|invoice.sdf" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>

我需要部署到(最好)一个数据库目录。我该怎么做呢?我需要两个目录吗?实体是否仍会创建表格等?

我获得了新数据库的连接字符串。

我很困惑。我希望有人能帮帮忙。

服务器上的数据库是sql2005。我首先使用实体​​代码。

1 个答案:

答案 0 :(得分:0)

您需要一个用于ASP.NET成员身份的connectionString,另一个用于EF。如果两者都指向同一个DB,那就没问题了。

是的,如果您愿意,可以使用EF的DB初始化程序创建数据库表,但无法创建成员资格表。为此,您需要使用aspnet_regsql.exe。但是,内置的数据库初始化策略不支持在适当的位置发展模式。因此,您必须首先使用您的模型创建EF表,然后在登录之前运行aspnet_regsql.exe,或者最好使用类似即将进行的代码优先迁移或数据库生成电源包之类的东西来演进数据库模式。