繁体   English   中英

在Visual Studio中发布ASP.NET MVC项目时如何获取数据库设置

[英]How to get the databases set up when Publishing an ASP.NET MVC project in Visual Studio

我使用空白的Razor模板制作了一个Web应用程序,现在需要将其部署到我的Web服务器上。 我在弄清楚如何以正确的顺序进行操作时遇到麻烦,因此无法设置数据库表。 我遇到麻烦的原因是,我不记得最初获得模板时已经存在的内容以及初次运行构建解决方案时所创建的内容。

我的理解是

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MyProjectName-20150506095501.mdf;Initial Catalog=aspnet-MyProjectName-20150506095501;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

当我发布项目时,将在该connectionString引用的数据库内部创建模板所附带的所有表_MigrationHistoryAspNetRoles等(或者当我获得模板时所有这些表都在那里吗?我不记得了) 。 我需要的额外表必须在相同的SQL数据库中手动创建,然后使用

[Database]
public class PortalData : DataContext
{
    public PortalData()
        : base("DefaultConnection")
    {
    }

    public Table<AssetLink> links;
    public Table<AssetFile> files;
    public Table<Organization> orgs;
    public Table<Category> cats;
    public Table<UserClearance> clearances;
    public Table<Extension> extensions;

作为我通过查询创建的那些表linksfilesorgs等的模型。 然后, _MigrationHistoryAspNetRoles等以及linksfilesorgs等都将存在于我之前创建的同一数据库中。

那正确吗? 或者有人可以给我简要说明应该发生的情况吗?

是的。所有表都将驻留在我之前创建的同一数据库中。 _MigrationNistory一个辅助数据库,如果模型与数据库的结构不对应,该辅助数据库将存储在EF6期间所做的更改。 我删除了它。 如果数据库的结构与模型完全对应-它将不再出现。 其他表(AspNetRoles)需要能够对Web应用程序上的用户进行身份验证。 对不起我的英语不好))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM