0
我有一個簡單的請求,過濾數據,命令它和頁面來自jQuery 嵌入在Kendo網格工具欄中的自動完成。這是打電話的代碼。實體框架5.0 L2S包含,StartsWith,EndsWith由於額外的引號不工作
Service.Get(s=> s.Name.Contains("Alcurt QI, In"), o => o.Name, 1, 15)
如果我從網上進入生成的SQL是正確的但它嵌入另外 單引號。 SQL使用SQL Profiler捕獲。這裏是 結果的片段:
WHERE [Extent1].[Name] LIKE @p__linq__0 ESCAPE N''~''
) AS [Project1]
) AS [Project1]
WHERE [Project1].[row_number] > 0
ORDER BY [Project1].[Name] ASC',N'@p__linq__0 nvarchar(4000)',@p__linq__0=N'%''Alcurt QI, In''%'
名稱列類型爲nvarchar。
你看它使用等,但是,請注意額外的引號
@p__linq__0=N'%''Alcurt QI, In''%'
如果我刪除多餘的引號的查詢工作正常。我在SQL Manager中測試了它。
然後我寫了一個單元測試嘲笑HttpContext並調用相同的控制器動作 和SQL工作正常。這裏是來自它的SQL而不是缺失的引號。
WHERE [Extent1].[Name] LIKE @p__linq__0 ESCAPE ''~''
) AS [Project1]
) AS [Project1]
WHERE [Project1].[row_number] > 0
ORDER BY [Project1].[Name] ASC',N'@p__linq__0 varchar(8000)',@p__linq__0='%Alcurt QI, In%'
O/S是Windows 7的 的Visual Studio 2012 實體從的NuGet,5.0框架的DbContext 系統是MVC 4 n層 請求者劍道網格自動完成的工具欄。
我已經驗證了的EntityFramework版本等
WHY ????