でテーブルフィールドを使用して条件を使用する新しいDateTimeの作成方法c#でwinアプリケーションを使用して、whereフィールドにconcatened by tableフィールドを含むlinqクエリを取得します。 私のクエリは次のとおりです。LINQ
t016.COD_MESE
が文字列rapresenting月の値である
var fatture = (from t016 in cont.T016_FATT
where t016.ID_FATTURA = aiIdFattura
&& Convert.toDateTime("01" + t016.COD_MESE+"/"+t016.ANNO) > aiData
select t016).ToList();
、aiIdFattura
は、関数に渡された小数点パラメータであり、aiDataは、DateTimeのパラメータです。
が、このLINQクエリは私に、このエラーを与える:私はので、私はインターネットでEntityFramework(バージョン6)に存在するDBFunctionsを使用するように示唆解決策を発見した
LINQ to Entities does not recognize the method Convert.ToDateTime
が、私はEntityFrameworkのマイナーバージョンを持っていますこの機能は使用できません。
もう一つの発見された解決策は、linqクエリの前に日付をフォーマットすることでしたが、T016_FATTに依存するため私のケースではできません。
私の提案はありますか?
おかげでたくさん
...月と日の間にセパレータがないようです。私はそれがメソッドの期待された入力であれば気になります。また、このようにすべての行を変換すると、インデックスやテーブルスキャン(インデックスの種類、最初の条件に一致する行の割合に依存します)を実行するコストがかかります。あなたは実際に日付自体を気にしないので、なぜaiDataから年/月を抽出しないのですか? (または潜在的に完全な日付を保存するか、またはカレンダーテーブルをping) –
私のコードで申し訳ありません "01 /" + t016.COD_MESE + "/" + t016.ANNO、私は間違って答えた –