gpt4 book ai didi

asp.net-mvc-3 - MVC 3 创建一个新数据库而不是使用指定的数据库

转载 作者:行者123 更新时间:2023-12-02 20:01:40 24 4
gpt4 key购买 nike

我正在使用 Mvc3 和 MvcScaffolding NuGet 创建一个新的 MVC 3 试点应用程序,一切运行顺利,直到我想使用已有的数据库。应用程序不断创建以下格式的数据库:

projectname.Models.projectnameContext

我被困在这里,我的连接字符串是:

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="EnginesTrackingEntities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=WARCHLAPPY\SQLEXPRESS;initial catalog=[EnginesTracking];integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

其中指定我的数据库是 EnginesTracking。

更新

我遵循 this example 中的数据库优先方法。

我一切正常,但是当应用程序启动时,它会创建一个新表,而不是使用我指定的表。

唯一的区别是我的项目中没有 databaseEntities,而是有 projectContext,我无法执行第 8 步

更新2

我有点放弃了,打算遵循 codeFirst 方法,因为仅作为试点就需要很多时间。

这是 Model1.context.cs:

//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated from a template.
//
// Manual changes to this file may cause unexpected behavior in your application.
// Manual changes to this file will be overwritten if the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace ErrorReportingSystem.Models{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;

public partial class EnginesTrackingEntities : DbContext
{
public EnginesTrackingEntities()
: base("name=EnginesTrackingEntities")
{
}

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}

public DbSet<Engine_Part> Engine_Part { get; set; }
public DbSet<Engines> Engines { get; set; }
public DbSet<Error> Error { get; set; }
public DbSet<Has_error> Has_error { get; set; }
public DbSet<Locations> Locations { get; set; }
public DbSet<Operators> Operators { get; set; }
public DbSet<sysdiagrams> sysdiagrams { get; set; }
}
}

最佳答案

终于找到问题所在了。我发现了类似的问题here这最终为我指明了正确的方向。

我必须添加:

    public ErrorReportingSystemContext() : base("name=EnginesTrackingEntities") { }

/Models 文件夹下的 ErrorReportingSystemContext.cs 文件。

完成!

关于asp.net-mvc-3 - MVC 3 创建一个新数据库而不是使用指定的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12290440/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com