2009-04-28 11 views
0

私は自分自身で簡単なLinqからSQLへのリポジトリパターンを構築するプロセスに入っています。デフォルトのLinqからSQLへの列の並べ替え

私が知りたかったのは、デフォルトの並べ替えの列を設定することができるので、orderbyを呼び出す必要はありません。 私が読んだことから、私はそれがそうではないと思います。そして、そうであれば、この問題の解決策として何が推奨されますか?

私のモデルの部分クラスの属性を使用することをお勧めしますか?

+0

私はClientオブジェクトを持っています。通常、デフォルトはプライマリキー(clientId)をソートすることになりますが、9/10回ClientNameをソートしたいので、これをデフォルトに設定します毎回指定する必要はありません。 –

答えて

4

デフォルトの順序は、取得元のテーブルのクラスタード・インデックスです。

ソートしたいもの(並べ替えなし)は何ですか?

0

プライマリキーでソートされている以外のものが必要な場合は、ランタイム生成ステートメントを使用する代わりに、テーブルのselectステートメントを提供することができます。デザイナーのテーブルのプロパティを見てください。ランタイム生成のselect、delete、およびupdateステートメントをオーバーライドできるはずです。私はそれが他の順序とどのように相互作用するか分からないので、私は個人的にこれを勧めません。私は、あなたが望むならストアドプロシージャを使用できるようにするという目的に沿っていると思います。

もう1つの方法は、テーブルと同じスキーマおよび必要な方法で順序付けを行うテーブル値関数またはストアドプロシージャを作成することです。デザイナでこれをテーブルにドラッグすると、標準選択ではなく関数/プロシージャの定義に従ってそれらのエンティティを取得するために使用できるデータ型に強く型付けされたメソッドが取得されます。個人的には、これは目立たせるためメンテナンスの難しさが少なくなると思いますが、そのエンティティのTableプロパティの代わりにメソッドを使用することを忘れないでください。

関連する問題