AsEnumerable
を使用して、データベースではなくローカルで解析を行う価値があります。 :
var query = db.tb1.Select(tb => tb.dt)
.AsEnumerable() // Do the rest of the processing locally
.Select(x => DateTime.ParseExact(x, "yyyyMMdd",
CultureInfo.InvariantCulture));
最初の選択は、エンティティ全体ではなく、関連する列のみがフェッチされるようにすることです(エンティティの大部分のみが破棄されます)。ここでは意味がないように思われるため、匿名タイプの使用も避けました。
ちなみに、私が不変の文化をどのように指定したかに注意してください-あなたはほぼ間違いなくしない 現在の文化を使いたいだけです。 ソースのように聞こえるので、解析に使用するパターンを変更しました データはyyyyMMdd
にあります フォーマット。
もちろん、可能であれば、データベーススキーマを変更して、日付値をテキストではなく日付ベースの列に格納する必要があります。