私は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つで間違っていることを見ていますか?
まだ移行がpowershellでサポートされているかどうかは不明です。http://stackoverflow.com/questions/30220291/how-to-enable-migrations-ef6-in-an-asp-net-5-project –
これを見ました同様に、migrate.exeを動作させる方法はわかりません。 –
あなたはproject.jsonファイルを共有できますか? –