私はここ数年Linq2Sqlを使用していて、DBにint
ortinyint
フィールドがあるなど、DBMLファイルで列挙型に再定義するいくつかの機能に慣れているので、SQLを実行すると便利です。列挙型と直接比較してクエリを実行します(この件に関する3年前の私の質問と、そこにある回答については、こちらを参照してください)。
今、私はEntity Framework 5を使用してプロジェクトを開始しています。EFはL2Sでは得られなかった多くのことを正しく行っているようですが(たとえば、デタッチ/再アタッチ)、簡単ではないように思われることに失望しています。そのようなフィールドのC#タイプを列挙型に変更する方法。
誰かがこれをきれいに行う方法を見つけたので、私は次のようなクエリを持つことができます:
var q = entities.Things.Where(t => t.Status == TStatus.Closed);
int
(いいえ、キャストしたりbyte
インラインにしたりする必要はありません)。