1

ASP.NETMVC3プロジェクトでEntityFrameworkバージョン4.1.0.0およびMono2.11.4でMySQLデータベースを使用しようとしています。

私のローカルWindowsシステムではすべてがうまく機能しますが、Ubuntu12.04LTSシステムに公開すると多くのエラーが発生します。

最初に私は得る:

アセンブリ'EntityFramework、Version = 4.1.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'からタイプ'System.Data.Entity.Infrastructure.DbUpdateException'を読み込めませんでした。

を押すF5と、ページが更新されるたびに異なるエラーが発生します。

  • アセンブリ'EntityFramework、Version = 4.1.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'からタイプ'System.Data.Entity.Infrastructure.DbUpdateConcurrencyException'を読み込めませんでした。

  • アセンブリ'EntityFramework、Version = 4.1.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'からタイプ'System.Data.Entity.Infrastructure.DbCompiledModel'を読み込めませんでした。

  • タイプ'System.Data.Entity.Infrastructure.ReplacementDbQueryWrapper`1[TElement]'をアセンブリ'EntityFramework、Version = 4.1.0.0、Culture = neutral、PublicKeyToken=b77a5c561934e089'から読み込めませんでした。

  • アセンブリ'MySql.VisualStudio、Version = 6.6.4.0、Culture = neutral、PublicKeyToken=c5687fc88969c44d'からタイプ'MySql.Data.VisualStudio.Editors.SqlEditor'を読み込めませんでした。

  • アセンブリ'MySql.VisualStudio、Version = 6.6.4.0、Culture = neutral、PublicKeyToken=c5687fc88969c44d'からタイプ'MySql.Data.VisualStudio.WebConfig.WebConfigDlg'を読み込めませんでした。

  • タイプロード例外が発生しました。

このコードでデータベースを使用しようとすると、最後のエラーが発生しました。

using (var db = new DefaultContext())
{
    db.Persons.Add(new Person() { Name = "hallo", Address = "bllaaa" });
    db.SaveChanges();

    var persons = db.Persons.ToList();
    return View(persons);
}

誰かが同様の問題を抱えてそれを解決しましたか?私は何をすべきかわかりません。

PS:コードファーストマイグレーションを使用しています

4

2 に答える 2

0

私の理解では、Mono は Entity Framework のオープン ソース バージョンをバンドルしていますが、これは基本的にまだリリースされていない v6 です。

http://weblogs.asp.net/scottgu/archive/2012/07/19/entity-framework-and-open-source.aspx

したがって、コードが大幅に変更されている可能性があるため、EF v4.x をターゲットにすることはできないようです。ただし、欠落しているように見える型がまだ残っていることがわかった場合は、アセンブリ リダイレクトを使用して問題を回避することができます (bindingRedirect を検索するだけです)。

于 2012-11-20T22:45:42.820 に答える
0

なぜこれが起こったのか知っています。ソースからmonoをインストールした後、apt-getを介してmono-fastcgi-server4をインストールしました。だから私は2つのモノラルバージョンをインストールし、古いバージョンがアクティブでした. (2.10.8)

また、新しい EF6 だけがデータベースで動作し、EF6 をサポートして mono で動作するプロバイダーが存在しないため、Entity Framework はまったく役に立たないように思えます。

于 2012-11-22T01:04:23.030 に答える