0

我创建了一个新的 MVC 4 项目,构建并运行 -> 全部成功

尝试登录 -> 在 SQL Express 中创建新数据库(数据库名称:xyz)=> 到目前为止一切顺利...

现在,我想在 SQL Express 中添加一个名为“ABCD”的新表(到上面的 xyz 数据库)。如何在 Visual Studio 解决方案中访问此表?没有实体框架模型可以手动更新吗?

但是,我ABCD在 Models 文件夹中添加了一个类

使用新的为 ABCD 创建了一个新的控制器,Data Context Class但是当我运行解决方案时,它创建了一个新的数据库,而不是使用 Web.config 文件中提到的默认数据库

有人可以让我知道如何通过详细步骤解决此问题吗?

这是我的 DataContext 类:

使用 System.Data.Entity;

namespace _1024.Models { public class _1024Context : DbContext { // 您可以在此文件中添加自定义代码。更改不会被覆盖。// // 如果您希望实体框架在您更改模型架构时自动删除并重新生成数据库 // 请将以下代码 // 添加到 Global.asax 文件中的 Application_Start 方法中。// 注意:这将在每次模型更改时破坏并重新创建您的数据库。// // System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<_1024.Models._1024Context>());

    public _1024Context() : base("name=_1024Context")
    {
    }

    public DbSet<ABCD> ABCDs { get; set; }
}

}

这是 Web.config 文件:

<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />


</configSections>
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=aspnet-_1024-20130606134952;Integrated Security=SSPI"
      providerName="System.Data.SqlClient" />
    <add name="_1024Context" connectionString="Data Source=.\SQLEXPRESS; Initial Catalog=_1024Context-20130606135301; Integrated Security=True; MultipleActiveResultSets=True"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
4

2 回答 2

0

尝试在没有“name=”的情况下这样写。这对我有用。

public _1024Context() : base("_1024Context")
于 2013-06-06T15:55:38.553 回答
0

如果要使用现有数据库,则不应使用新的连接字符串。在您的连接字符串中,您有两个不同的初始目录,这意味着两个不同的数据库。

于 2013-06-06T04:33:04.280 回答