私はEntityを使用して顧客のSQLテーブルからデータを取得しています。これを日付に基づいてフィルタリングしたいと思います。顧客は各行の該当する月をYYYYMM形式の6桁の文字列として保存しました。エンティティ1月にすべてのDateTimesを変換する
CONVERT(datetime2, MON.Month + '01') AS CoveredMonth
をその後の内側:(私はDATETIME2に列タイプを変更することはできませんので)これを解決する私の試みは、月を表すDATETIME2列を作成するには、次のないSQLビューを作成することでした。 NET、私は2016年1月1日と2017年1月1日を表す2つのDateTimeオブジェクト、yearStartとyearEnd、および私が探している特定の従業員を持っています。
IList<MonthlyRecord> monthlyRecords = m_LTContext.MonthlyRecords
.Where(r => r.EmployeeID == employee.ID && r.CoveredMonth >= yearStart && r.CoveredMonth < yearEnd)
.ToList<MonthlyRecord>();
私は、私は、レコードの期待数を参照してくださいmonthlyRecords
に返されるかどうか確認するためにブレークポイントを配置する場合:私はこのコラムでフィルタしようとするには、次のコードを持っています。ただし、各レコードはCoveredMonth
が2016年1月1日に設定されています。SQLで同じクエリを実行すると、同じ個のレコードが再びのレコードになりますが、適切な日付:Jan 1 '16、Feb 1 '16など
ビュー上で非標準のマッピングプロパティがEntityに何らかの問題がありますか?私の心にはいくつかのハッキングがありますが、私は本当にこれを「適切に」解決したいと思います。