0

通常、私は Entity Framowrk を ORM ツールとして使用します。そして、「関数のインポート」機能とコード ジェネレーターが本当に気に入っています。

しかし、非常に分厚く非常に真面目な本を読んだら、SP だけを呼び出すために EF を使用することはお勧めできません。

著者が少しだけ忘れていたこと:このような DB 呼び出し戦略に最適なツールは何ですか?

4

4 に答える 4

2

EF の学習に時間を費やし、それがうまくいった場合は、EF を使い続けてください。あるいは、ほとんどのプロジェクトでは、Dapper、Massive、PetaPoco などのマイクロ ORM で十分です。たとえば、Dapper は @ StackExchange で使用するために開発されたと思いますが、現在はオープン ソースになっています。

于 2013-01-22T16:19:56.660 に答える
1

BLToolkit を確認してください。EF に比べて学習曲線が非常に短いです。

この Blt 拡張機能もチェックしてください -> bltoolkit-storedprocedures2csharp-t4/ T4 テンプレートを使用して、ストアド プロシージャの関数を生成します。

通常のBltoolkit

using(var db = new DbManager())
{
  return db
    .SetSpCommand(
      "Person_SaveWithRelations",
      db.Parameter("@Name", name),
      db.Parameter("@Email", email),
      db.Parameter("@Birth", birth),
      db.Parameter("@ExternalID", exId),
    )
    .ExecuteObject<Person>();
}

エクステンション付き

using (var db = new DataManager())
{
  return db
    .Person
    .SaveWithRelations(
      name,
      email,
      birth,
      exId
    )
    .ExecuteObject<Person>();
}

(免責事項:私は多くのSPを持っていないため、自分で拡張機能を使用していません)

于 2013-01-23T11:44:02.877 に答える
0

BLToolkit を使用してみてください - これはオープン ソースであり、オブジェクトをストアド プロシージャのパラメータにマップし、ストアド プロシージャの出力をオブジェクトに問題なくマップできます。

bltoolkit ホーム bltoolkit ソース

于 2013-01-22T16:34:36.170 に答える
0

Microsoft Enterprise Libraryの Data Access ブロックが最良の選択だと思います。いくつかのプロジェクトで、ストア プロシージャのみを使用して外部データベースにクエリを実行するために使用しました。最新バージョンは、構成が非常に簡単で使いやすいです。また、余分な機能で過負荷になることもなく、必要なものだけを提供します。シンプルで素早い構成と使用法が必要な場合は、これを使用してください。これが私のアドバイスです。

于 2013-01-22T16:16:54.243 に答える