3

Mvc3 と MvcScaffolding NuGet を使用して新しい MVC 3 パイロット アプリケーションを作成しています。既に持っているデータベースを使用するまで、すべてがスムーズに実行されます。アプリケーションは、次の形式でデータベースを作成し続けます。

projectname.Models.projectnameContext

ここで立ち往生しています。私のconnectionStringsは次のとおりです。

<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 であることを指定します。

アップデート

この例のデータベース ファースト アプローチに従っています。

すべてが完全に機能していますが、アプリケーションが起動すると、指定したテーブルを使用する代わりに新しいテーブルが作成されます。

唯一の違いはdatabaseEntities、私のプロジェクトには何もないことです。代わりにprojectContext、番号 8 のステップを実行できないものがあります。

Update2

私はこれをあきらめて、パイロットになるだけで多くの時間がかかるので、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; }
  }
}
4

2 に答える 2

1

私はついに問題を見つけました。ここで同様の問題が見つかり、正しい方向に向けられました。

追加する必要がありました:

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

フォルダ配下のErrorReportingSystemContext.csファイルへ/Models

終わり!

于 2012-09-10T19:44:03.627 に答える