私は今NHibernateと私のドメインモデルで困っています。私は頭の中で素敵なAPIを想像していますが、私は本当に難しい時を過ごしています。私が達成しようとしているものの例を次に示します:Foreachループの意味をなんとかしていますか? :P私は自分のクラスとある種の流暢なインターフェースを作ろうとしているような気がします。私は持続性のためにNHibernateを使用していますので、このようなことがありますか、それとももっと単純にする必要がありますか?NHibernateのトラバーサルの質問 - 流暢なインターフェイスを作成する
0
A
答えて
2
TripがIQueryableであると仮定すると、流暢なインターフェイスはLinqクエリと拡張メソッドを使ってかなり簡単に書くことができます。注:次の仮想コードはテストされていません。
public static class MyExtensions
{
public static IQueryable<Person> People(this IQueryable<Person> source)
{
return from person in source
select person;
}
public static IQueryable<Person> Crew(this IQueryable<Person> source)
{
return from person in source
where person.type == crewMember
select person;
}
public static IQueryable<Person> IsApproved(this IQueryable<Person> source)
{
return from person in source
where person.IsApproved == true
select person;
}
}
など.etc。各メソッドのパラメータリストに "this"キーワードを使用していることに注目してください。以下のようにこれは、方法は、任意のソースのIQueryableに点在によって呼び出すことができます
var crew = myPersons.Crew();
var approvedCrew = myPersons.Crew().IsApproved();
注:私は、この技術を用いて、カッコを排除する方法があるとは思いません。これを行うには、プロパティを使用する必要があり、C#は「拡張プロパティ」をサポートせず、「拡張メソッド」のみをサポートします。ここ
+0
の関係を見ることができるようにモデルを投稿してください!それは私が探していたものでしたが、何を呼び出すべきか分かりませんでした。拡張機能!ありがとうございました – CalebHC
関連する問題
- 1. C#流暢NHibernateの質問
- 2. 流暢なNHibernateのアーキテクチャの質問
- 3. mysql流暢nhibernate問題nvarchar
- 4. 流暢NHibernateはマッピング問題
- 5. 流暢なNHibernateマッピング
- 6. C#流暢なnhibernate
- 7. NHibernateの質問 - 流暢NHibernateのために、この例を修正
- 8. 流暢NHibernateのマッピングヘルプ
- 9. 流暢NHibernateのマッピング
- 10. 流暢NHibernateマップアドレスタイプ
- 11. 流暢NHibernateの問題(のClassMap)
- 12. 流暢なnhibernate + SQLスキーマを作成する方法
- 13. nvarchar maxの拡張機能を作成するには?流暢なnHibernate + Nhibernate
- 14. 流暢Nhibernate mysqlの日付問題
- 15. 生のSQLをlaravelに変換する方法流暢な質問作成者
- 16. NHibernateの流暢 - 複数のデータベース構成
- 17. 流暢なnhibernateバッチ保存
- 18. 流暢なNhibernate無限サイクル
- 19. 流暢Nhibernate不明なパス
- 20. 流暢なnHibernateとJoinSubClasses
- 21. 流暢なNHibernate継承ベースクラス
- 22. 流暢NHibernateは:マッピング
- 23. 流暢Nhibernate Nunitテストエラー
- 24. 流暢NHibernateはAutomaping
- 25. 流暢NhibernateマッピングhasMany
- 26. 流暢NHibernateは - プロパティ
- 27. (流暢)NHibernateは - クエリ
- 28. 流暢NHibernateとlog4net
- 29. 流暢Nhibernate - HQL選択問題
- 30. C++/CLIの流暢nhibernate
我々はどうもありがとうございまし –