何とかこのような繰り返し投影法をカプセル化する方法はありますか? title_before、title_after、first_name、surnameというプロパティを持つSubjectエンティティがあります。今私はすべてのlinq式で件名の名前を取得するために文字列のconcateningを繰り返す必要があります。私はそれをExpression関数などの何かにリファクタリングしたいので、私はGetName()を自分のエンティティで呼び出すだけで、SQLに渡されます。これは可能ですか?たぶんnhibernateだけではなく、エンティティへのlinq。 回答ありがとうございます。Linqが共通の機能を休止する
答えて
あなただけのあなただけの選択
var results = context.OriginalClasses.Select(
oc => new TargetClass
{
FirstName = oc.first_name,
Surname = os.surname,
});
でそれに突出その後、あなたのターゲットクラス次にプロパティ
public class OriginalClass
{
public string first_name { get; set; }
public string surname { get; set; }
// other properties
}
で
public class TargetClass
{
public string FirstName { get; set; }
public string Surname { get; set; }
public string Name => $"{FirstName} {Surname}";
}
をそれを行うことができ、それを表示する必要があるので、次に参照名を表示すると値を取得します。データベースマッピングがないため、IQueryableに対する式では使用しないでください。
あなたはクラスの束を持っている場合は、IHaveNameインターフェイスを作成し、それに対する項目GetName()拡張メソッドを書くことができます中に突出しています。
私はすべての余分なフィールド(その名前だけでなく、それらの5つ、また私はそれらにisnullを行う必要があります)を取得したいと思いますし、ienumarableに変換します。私は、SQL Serverで実行される式に拡張される共通の機能を望みます。私は乾燥しない方法があるかどうか聞いています。 –
あなたの質問を編集して、いくつかのサンプルコードで実際に尋ねたいことを言うことができますか?私はあなたが尋ねた質問に答えるだけで、あなたの心を読むことはできません。マッピングツールを使用して投影を一度定義して再利用したいと思うかもしれませんが、わかりません。 – Mant101
- 1. ReactiveMongo共通機能
- 2. jQueryの機能はanomolous休止
- 3. 休止状態のCOALESCE機能
- 4. MVC共通の機能
- 5. Nodejs休止API削除機能
- 6. 共通コントローラ機能を作成する
- 7. 異なるアクティビティタイプ間で共通の機能を共有する
- 8. 休止状態のカスケード削除が機能しません
- 9. ファイル内のjQueryの共通機能
- 10. 共通のlispのprimep機能
- 11. 休止所有エンティティ側で共有プライマリキー
- 12. 数分後にプッシュ通知機能が停止する
- 13. linq to xml - 休止状態のファイルを読み取る
- 14. ショーフォームの共通機能を作成する方法は?
- 15. メニューを共通の機能で提供する方法
- 16. 春データ休止アプリケーションバックエンド通知フロントエンド
- 17. 休止状態のセッションが休止状態でヌルである
- 18. 休憩APIのクエリ機能
- 19. 休止状態:休止状態の接続を変更する
- 20. 休止状態の休止プロジェクトを作成する
- 21. DAOの休止ツールと休止テンプレート
- 22. Phonegap Ionicアプリが休止APIを備えたデバイスから機能しない
- 23. 休止後のタスクのスケジューリング(リフレッシュ可能)
- 24. C++共通ベースクラスのプライベート/プロテクト機能を呼び出す
- 25. 休止@Filter @Cacheが
- 26. が休止状態
- 27. が休止状態
- 28. 抽象的な/仮想メンバーが共通の機能と派生した機能を提供する - C#
- 29. 休止状態から復帰する際の通知C#
- 30. 2人が別々の機能を持っていても共通の機能を持っている場合
これはdb側で行う必要がありますか?あなたが投影しているオブジェクトにプロパティがあるだけでなく、それが名前であり、それをファーストネームと姓として定義します。 db側で必要な場合は、派生カラムNameを作成し、オブジェクトのNameプロパティにマップします。 – Mant101
Imはdb側のロジックを実行できません –
する必要がありますか?あなたはデータベース上で起こらなければならない何かをやっているのですか、それとも検索して表示しなければなりませんか? – Mant101