2

古き良きテキストベースの SQL クエリを使用する代わりに、誰かが umbraco に Entity Framework (またはその他の ORM ツール) を統合したドキュメント/記事を見つけようとしています。

今のところ、umbraco データベースにクエリを実行する場合は、次のように記述します。

ISqlHelper SqlHelper = DataLayerHelper.CreateSqlHelper(umbraco.GlobalSettings.DbDSN)

    SqlHelper.ExecuteNonQuery(@"insert into Table(id,ColumnName)                        values(@id,@ColumnName)",
    SqlHelper.CreateParameter("@Id", -1),                    SqlHelper.CreateParameter("@ColumnName", foobar),

これは問題ありません (誤解しないでください) が、何らかの ORM ツールを使用したほうがよいと思います。

既存の Umbraco テーブルと新しいテーブルを接続する ORM ツールの使用方法に関する考えやアイデアはありますか?

4

3 に答える 3

2

私はumbracoアプリ内でEFを幅広く使用しており、非常にうまく機能しますが、コアのumbracoテーブルを操作することはできません。これを使用して、データベースに追加するカスタムテーブルを操作します。

EFの使用を最適化し、価値のあるものにするために、umbracoテーブルにデフォルトですべての適切な外部キーやインデックスが設定されるかどうかさえわかりません。

コアテーブルをよりアクセスしやすくするためのラッパーが必要な場合は、dapperなどの軽量パッケージの使用を検討してください。

于 2012-12-05T11:36:15.403 に答える
2

私はかなりの数の Umbraco プロジェクトで Linq to SQL を使用してきましたが、昨年は代わりに PetaPoco を使用するようになりました。PetaPocoは非常に軽量で、習得、実装、使用が簡単です。また、非常に高速です。

EF と Linq to SQL は特に Subversion に適しているとは言えず、2 人以上の開発者が同じデータ スキーマで作業しているときに競合が発生することがわかりました。

また、考慮すべきコンテキストがなかったので、DI を使用して PetaPoco を実装する方がはるかに簡単であることがわかりました。私には、Umbraco 4.10+ プロジェクトの MVC 実装に自然に適合するように感じます。

アップデート:

Umbraco v6+ (それ自体が PetaPoco を使用) に移行すると、私が言うように実際には PetaPoco であるため、Umbraco 独自のデータベース オブジェクトを使用できるため、ORM をインストールする必要さえないことがよくあります。ただし、もう少し「うなり声」が必要な場合は、NHibernate または EF を選択しますが、これらの状況はほとんどなく、可能であれば、Petapoco または NPoco を引き続き使用します。

于 2012-12-05T12:43:37.590 に答える
0

これが私の2セントです。:)

EF または任意の ORM マッパーを採用し、umbraco エコシステム内でニーズに合わせて動作するように選択できます。利点は、独自のクエリ作成パターンを採用して Umbraco DB をクエリできることです。そしてそれは完全に機能します。

EF を採用すると、次のようなクエリが作成されます。

var q = from p in cmsContentType.Include("umbracoNode")

同様に、クラス ラッパーを使用して、EDMX に存在する umbraco テーブルのエンティティを保存することもできます。

ただし、同じデータベースにいくつかのカスタム テーブルと Umbraco テーブルを含めることを意図している場合は、2 つの EDMX ファイルを作成することをお勧めします。1 つは Umbraco テーブル用、もう 1 つはカスタム テーブル用です。このようにして、1 つの EDMX ファイルの負担を軽減し、パフォーマンスも向上させることができます。

質問に答えるには...これを行うためのドキュメントはありませんが..テーブルがたくさんあると考えて、それらをEDMXに置いて使い始めることができます。

以下に添付されているのは、バニラ風味のアンブラコである私のデータベースの画像です.

ここに画像の説明を入力

于 2012-12-06T07:53:19.413 に答える