.netコアとpomeloドライバでEFコアを使用してmysqlを足場にしたときに保存されたprocsがありません

.net-core entity-framework-core mysql stored-procedures

質問

私は、生成されたコードがLinux CentOS(NetCoreAppフレームワーク)上で実行されるmysqlデータベースに対して、EFCoreでScaffoldingを使用しようとしています。私はVS2015 Update3でWindows上で開発しています。

テーブルは正常にリバースエンジニアリングされますが、ストアドプロシージャは含まれません。ストアドプロシージャがなければ、私はEFCoreを捨てなければならないのではないかと心配しています。


  • mysqlに対するEFCoreの足場は、リバースエンジニアリングストアドプロシージャをサポートしていますか?
  • ドライバーの組み合わせを使用していますか?
  • この機能が現在のEFCoreにはないと思われる場合、CentOSのnetcoreappで使用する既存のmysqlデータベースをリバースエンジニアリングするために、有料または無償のソリューションを知っていますか?

サンプルの場合、私は単一のテーブルとパラメータのないストアドプロシージャを持つmysqlデータベースを使い始めました。私は、以下のproject.jsonに示すように最新のEFCoreとPomeloドライバを使用していると思います...

{
  "version": "1.1.0-*",
  "buildOptions": {
    "emitEntryPoint": true
  },

  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
  },

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Design": "1.1.0",
    "Pomelo.EntityFrameworkCore.MySql": "1.1.1-prerelease-10011",
    "Pomelo.Data.MySql": "1.0.0",
    "Pomelo.EntityFrameworkCore.MySql.Design": "1.1.1-prerelease-10011",
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final"
  },

  "frameworks": {
    "netcoreapp1.1": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.1.0-*"
        }
      }
    }
  }
}

そして、 dotnet restore実行した後で、以下を使用して足場を呼び出す...

Scaffold-DbContext "server=localhost;user id=root;password=;database=simpledb" Pomelo.EntityFrameworkCore.MySql -OutputDir Models -force

私の実際のケースと簡単なテストケースの両方で、スキャフォールディングを実行した後、生成されたコードはテーブルのみを含み、ストアドプロシージャは含まれません。

人気のある回答

Pomeloと最新バージョンのEntity Frameworkには既知の問題があります。

この設定では私のために働いています:

Microsoft.EntityFrameWorkCore 2.0.3
Microsoft.EntityFrameworkCore.Tools 2.0.3
Pomelo.EntityFrameworkCore.MySql 2.0.1

MySqlでストアドプロシージャを呼び出すには、次のようなものを使用できます:

var values = _context.Test.FromSql("call test_proc2(0)").ToList();


Related

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