なぜ単一のクエリは、複数のクエリとは異なる結果を返しますか?動的linq複数対単一の.whereクエリ
query.Where("666 = ID");
query.Where("ActiveFrom < @0 && ActiveTo > @1 && ValidFrom < DateTime.Now && ValidTo > DateTime.Now", toDate, fromDate);
query.ToString();
での結果:
SELECT *
FROM [Country] AS [Extent1]
WHERE 666 = [Extent1].[ID]
とで
query = query.Where("ActiveFrom < @0", toDate);
query = query.Where("ActiveTo > @0", fromDate);
query = query.Where("ValidFrom < DateTime.Now");
query = query.Where("ValidTo > DateTime.Now");
結果を呼び出し、複数のと同じクエリ:呼び出しがクエリを変更いけないので
SELECT *
FROM [Country] AS [Extent1]
WHERE (666 = [Extent1].[ID]) AND
([Extent1].[ActiveFrom] < convert(datetime2, '2016-10-23 11:40:35.9538054', 121)) AND
([Extent1].[ActiveTo] > convert(datetime2, '2016-06-23 11:40:35.9518052', 121)) AND
([Extent1].[ValidFrom] < (SysDateTime())) AND
([Extent1].[ValidTo] > (SysDateTime()))
わからない - =クエリーを設定しました"最初の場所"と次に2番目の場所はどこですか? –
'query.Where(" 666 = ID ");'はこのクエリを変数に代入していないので何もしませんが、2番目の例ではそれを行います。 –