7

私はAsp.net 5.0 mvc6で作業していますが、7は完全にはまだコーディングされていないため、entityframework 6を​​使用したいと思います。Asp.net 5.0 MVC6 EF6移行スクリプト

私は有効-移行を、私は、これらのコマンドは、PowerShellではないかなり確信している

enable-migration : The term 'enable-migration' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of 
the name, or if a path was included, verify that the path is correct and try again. 
At line:1 char:1 
+ enable-migration 
+ ~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : ObjectNotFound: (enable-migration:String) [], CommandNotFoundException 
    + FullyQualifiedErrorId : CommandNotFoundException 

を取得したり、更新datatabase移行を追加入力します。しかし、%userdir%.dnx \ packages \ EntityFramework \ 6.1.3 \ toolsにツールがあることがわかりました。 migrate.exeを少し調べてみたら、私は彼らがprojファイルでしか動作しないので、新しい設定ではうまく動作しないと私に言っていました。私はいずれかを作っ前

public MigrationConfiguration() 
    { 
     AutomaticMigrationsEnabled = true; 
     MigrationsAssembly = Assembly.GetAssembly(typeof(InitialCreate)); 
     MigrationsNamespace = "[Namespace of my migration scripts]"; 
    } 

 var configuration = new MigrationConfiguration(); 
     var migrator = new DbMigrator(configuration); 
     migrator.Configuration.TargetDatabase = new DbConnectionInfo(nameOrConnectionString, "System.Data.SqlClient"); 
     if (migrator.GetPendingMigrations()) 
     { 
      migrator.Update(); 
     } 

と私の確認スクリプトでこのコード:

はまた、私は持っているdbcontextのコンストラクタでこのコードをプログラミングルートを移動しようとしていますこのデータベースの__migrationHistoryテーブルには201509291902537_InitialCreateという名前が付けられています。その名前のファイルを1つ作成し、201509291902538_testという名前のファイルを作成しました。

201509291902537_InitialCreate:

namespace Infrastructure.EF.Migrations 
{ 
    using System.Data.Entity.Migrations; 

    public partial class InitialCreate : DbMigration 
    { 
     public override void Up() 
     { 
     } 
    } 
} 

201509291902538_test:どんなに私は(migrator.GetPendingMigrationsを試してみました何

namespace Infrastructure.EF.Migrations 
{ 
    using System; 
    using System.Data.Entity.Migrations; 

    public partial class test: DbMigration 
    { 
     public override void Up() 
     { 
      Sql("insert into LegalEntity (Id, Name) values(" + Guid.NewGuid() + ", 'Test'"); 
     } 
    } 
} 

)は、それがどんな新しいアップデートを持っていると私は偽のアップデートを行い、まさにそれを、それを伝えるならば言うことはありませんそれを更新する必要がありますが、更新機能でnull参照例外がスローされても機能しません。

は、ここに私の偽の移行ツールです:

namespace Infrastructure.EF.Contexts 
{ 
    public class Migrator : DbMigrator 
    { 
     public Migrator(DbMigrationsConfiguration configuration) : base(configuration) 
     { 
     } 

     public override IEnumerable<string> GetDatabaseMigrations() 
     { 
      return new List<string>() { "InitialCreate" }; 
     } 

     public override IEnumerable<string> GetLocalMigrations() 
     { 
      return new List<string>() { "InitialCreate", "test" }; 
     } 

     public override IEnumerable<string> GetPendingMigrations() 
     { 
      return new List<string>() { "test" }; 
     } 
    } 
} 

project.json:私はクラス名とファイル名の両方でそれを試してみましたが、どちらも動いていないようにみえてきた

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
     "Autofac.Framework.DependencyInjection": "4.0.0-beta5-*", 
     "AutoMapper": "4.0.4", 
     "EntityFramework": "6.1.3", 
     "log4net": "2.0.3", 
     "Microsoft.AspNet.Http.Abstractions": "1.0.0-beta5", 
     "Microsoft.CSharp": "4.0.0-*", 
     "Microsoft.Framework.Configuration.Json": "1.0.0-beta5", 
     "RestSharp": "105.2.3", 
     "System.Linq": "4.0.0-*", 
     "System.Runtime": "4.0.10-*", 
     "System.Threading": "4.0.10-*" 
    }, 

    "frameworks": { 
     "dnx451": { 
     } 
    }, 

    "configurations": { 
     "DV": { }, 
     "QA": { }, 
     "TR": { }, 
     "PR": { } 
    } 
} 

誰かがこれらの事のいずれかで運があったか、私がそれらのうちの1つで間違っていることを見ていますか?

+0

まだ移行がpowershellでサポートされているかどうかは不明です。http://stackoverflow.com/questions/30220291/how-to-enable-migrations-ef6-in-an-asp-net-5-project –

+0

これを見ました同様に、migrate.exeを動作させる方法はわかりません。 –

+0

あなたはproject.jsonファイルを共有できますか? –

答えて

1

ASP.NET MVC6でEF6を使用する場合は、EF6リポジトリを.NET 4.5のWeb API 2として公開し、ASP.NET MVC6でそれらを使用します。

私は多くの追加作業があることを知っています。既存のEF6データアクセスレイヤーとEF6からEF7へのマイグレーションにおける同様の問題のため、このアプローチをMVC6アプリケーションの学習および開発に使用しました。

関連する問題