FluentData
ORMを使用して C# で次のクエリを実行します。
List<dynamic> results =
Context().Sql(@"SELECT DISTINCT
a.EnteredDate,
bb.PK_EmployeeName,
bb.EmployeeId,
bb.EmployeeName,
dd.PK_EquipmentName,
dd.EquipmentId,
dd.EquipmentName
FROM
dbo.PIT_Inspection a
INNER JOIN
dbo.PIT_EmployeeName bb ON a.FK_EmployeeName = bb.PK_EmployeeName
INNER JOIN
dbo.PIT_EquipmentName dd ON a.FK_EquipmentName = dd.PK_EquipmentName
WHERE
CAST(a.EnteredDate AS DATE) BETWEEN '@0' AND @1'",
fromDate, toDate ).QueryMany<dynamic>();
パラメータfromDate
およびtoDate
にはstrings
、次のものが取り込まれます。
fromDate
= "20150224"toDate
= "20150227"
問題があると思われる領域は次のとおりです。
WHERE CAST(a.EnteredDate AS DATE) BETWEEN '@0' AND '@1'",
fromDate , toDate
エラーが表示される
文字列から日時を変換する際に変換に失敗しました
上記の行a.EnteredDate
は、タイプDateTime
です。実行中のクエリを SQL Server Management Studio にコピーすると、正常に実行されます。パラメータが実際に正しいデータを文字列として取り込んでいることを再確認しました。
このエラーの原因について何か考えはありますか?