NHibernateを数年間使用した後、次のプロジェクトで使用するためにEntity Frameworkを学習しています。現時点では、コードファーストアプローチとモデルファーストアプローチのどちらかを決定しようとしています。モデルファーストのアプローチは私には魅力的ですが、その結果はORMに依存しなくてはなりません。このために、私は次のことを熟考しています。 .edmxファイルのCSDLおよびC-Sマッピングコンテンツからクラスと.hbm.xmlファイル(NHibernateで使用するため)を生成するT4テンプレートを作成することは可能で実用的でしょうか?エンティティデータモデル(.edmxファイル)はORMに依存しませんか?
答えて
これはORM APIに含まれているため、またはNHibernateのhbmファイルを使用してEntityフレームワークを参照していたため、マッピングはORMに依存しませんでしたか? EDMXは、MS資産であるEDM(Entity Data Model)のXML表現であり、主にMS APIに使用されます。さらに、MSによって提供されるEDM処理のためのすべてのAPIがアクセス可能であるとは限らない(内部実装)。 EDMXはORMにとらわれない悪い点は、データベースにとらわれないことさえありません。
とにかく、EDMXを入力とし、出力として他のマッピングを提供するカスタムツールや変換を作成することができます。入力と出力の形式を理解するだけです。私はそれがT4で直接可能かどうかは分かりませんが、確かに可能です。しかし、それは実用的ではありません。実用的なのは、そのORMで利用可能なフルパワーとツールを使用して単一のORMを使用することです。
.edmxファイルからFluent NHibernate用のクラスを生成するT4テンプレートを作成することは可能であり、実用的です。私はちょうどそれをやっているAMDのプロジェクトに就いています。参照してください:http://tom-jaeschke.blogspot.com/2011/08/use-entity-framework-and-nhibernate.html
私は逆を行う可能性を検討しています - 私は、MS EDMに依存する特定のAPIを使用することができるように、私はEDMX等価物を生成したいNHibernate層(NHQueryable)を確立しています.Data.OData.Query)。 – lesscode
- 1. エンティティリレーションシップダイアグラム/エンティティデータモデル(.edmx)で(0..1 --- *)平均は
- 2. エンティティデータモデルデザイナーはedmxファイルを開けません
- 3. ASP.NET MVCコア1.0のADO.NETエンティティデータモデル(.edmx)
- 4. EDMXはこれ以上EDMXではありませんか?
- 5. YUMパッケージはuname -mまたはuname -iに依存します
- 6. 既存のDbを持つ新しいMVC 5プロジェクト - EDMX(エンティティデータモデル)との比較
- 7. Xcode 7は.mファイル、.hファイルは生成しません
- 8. 依存プロパティはトリガしません
- 9. Xcodeはフレームワークの.mファイルをどこに保存しますか?
- 10. VS2010で.edmxファイルのEntity Designerが動作しません。
- 11. Android:循環依存関係はRelativeLayoutに存在しません
- 12. Symfony/Doctrine:エンティティ "スキーマ"アノテーションは環境に依存しませんか?
- 13. すべてのテーブルは機能に依存しませんか?
- 14. VHDLとVerilogはテクノロジーに依存していませんか?
- 15. setTextSize()は密度に依存しませんか?
- 16. .net:DataSetとTableAdaptersはデータベースとベンダーに依存しませんか?
- 17. EdmxファイルがTFSソース管理下にありませんVS2012
- 18. EDMX:サーバでedmxが更新されていません
- 19. 依存型はコンストラクタでは機能しませんか?
- 20. dllにWindows 7ファイルの依存関係がありません
- 21. Visual Studion 2017 Asp.Netコアプロジェクトは、依存するdllファイルをビルドにコピーしません。
- 22. PHPはファイルに保存しません
- 23. Octaveは.mファイルの変更を認識しません
- 24. mavenパッケージには依存するjarファイルは含まれていません
- 25. TweetInviとwinRTファイルまたは依存関係が見つかりません
- 26. Composerはローカルリポジトリから依存関係を取得しません
- 27. .NET 4.5(または4.5.1)はセキュリティプロトコルには依存しませんか?
- 28. デザイナーでEDMXファイルを開くことができません
- 29. asp.netエンティティデータモデルにはsubmitChangesがありません
- 30. ExcelのSaveAs FileFormat引数はバージョンに依存しません
EDMXが単にXMLファイルとして扱われる場合、それはEntity Framework APIを使用していません、正しいですか?私はそれが.NETの全体であるため、一般的にMS APIの無関係なままにしようとはしません。 – HappyNomad
まあ、NHibernateと他のORMはEDMXを使用できないので、それは不可知論ではありません。 XMLであり、変換を作成できるという事実はそれを変更するものではありません。 ESQLクエリを含むEFの高度な機能を使用することになるので、私は簡単にEDMXを書くことができます。 EDMXから他の何かへの変換について考えているIMHOはそれに値するものではありません。ほとんどの場合、これらのhbmファイルを手動でより高速に作成します。 –
このアプローチではうまくいかないORMには何がありますか? ESQLについてのあなたの意見は良いことです。興味深いもの: – HappyNomad