ASP.NET vNext MVCおよびEntity Frameworkの問題

asp.net-core entity-framework entity-framework-core

質問

私は小さなASP.NET vNext WebAPI + AngularJS + Entity Frameworkプロジェクトを作成しようとしています。しかし明らかに、EF7では多くの変更があったので、次の問題が発生しています。

私は次のようにproject.jsonを変更しました:

"dependencies": {
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta1",
    "EntityFramework": "7.0.0-beta1",
    "EntityFramework.SqlServer": "7.0.0-beta1",
    "EntityFramework.Commands": "7.0.0-beta1",
    "Microsoft.AspNet.Mvc": "6.0.0-beta1",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta1",
    "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta1"

私のDataContextクラスで、私は次のことを試しています:

using System;
using Project1.Models;
using Microsoft.Data.Entity;

namespace Project1.DataAccess
{
    public class DataContext
    {
        public DbSet<Website> Websites { get; set; }

        public DataContext()
        {
            Microsoft.Data.Entity.Infrastructure.Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataContext>());
        //Database.SetInitializer(new DropCreateDatabaseAlways<DataContext>());
        }

     } 
}

}

まず第一に、 System.Data.Entityという名前空間がMicrosoft.Data.Entity変更されたのはなぜですか?私はどのようなmicrosoft msdnの記事でこの変更について何かを見つけることができません!

Second: Database.SetInitializer全体がもう動作しません。 Microsoft.Data.Entity.Infrastructure名前空間を使用することをお勧めしますが、DatabaseクラスにはSetInitializerメソッドが含まれていません。

受け入れられた回答

EF7はまだプレリリースされているので、MSDNの記事ではまだドキュメントが見つかりません。詳細については、 EF7 GitHub Wikiを参照する必要があります。

EF7を試してみると、これは新しいEFコードベースの開発の初期段階であり、部分的に実装されているか、まだ利用できない多くの機能があることに注意してください。

私は、 SetInitializerは完全に異なって実装されているものの1つだと考えています。チームはフレームワークのテスト容易性を向上させるために静的メソッドを避けています。

また、EF7最新バージョン7.0.0-beta3 beta3ですが、Wikiは夜間ビルドの使用方法に関する情報を提供しています。 (夜間のビルドを使用すると、VS2015 CTP6がリリースされてからの厳しい変更を考えると、大まかなことがあります。)


人気のある回答

EF7は、新しいプラットフォームや非リレーショナルデータストアをサポートするために、より軽量でモジュール式です。変更は非常に基本的なものなので、ネームスペースを含むいくつかの基礎となるAPIが変更されました。

新しい軽量の性質は、以前のバージョンと比較して、バックグラウンドで自動的に発生する事が少なくなることを意味します。 データベースイニシャライザが削除され、必要に応じてデータベースが作成されるようになりました。代わりに、 データベース移行を使用して、このプロセスを自分で制御する必要があります。詳細情報: ASP.NET vNext(MVC6)グラウンドアップ#3 - Entity Framework 7



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ