iT邦幫忙

0

c# T-SQL 轉換 C# lambda/Linq

  • 分享至 

  • xImage

我想要把 T-SQL 字串查詢條件語法轉換成 C# lambda/Linq,可是遇到字母大小寫比對的問題,我需要忽略字母大小寫比對,是否有解決方法?
T-SQL
Select a.Field1 from Table1 as a where Field2 in ('a','b','c','d');

小寫比對的問題
List condition = List(new string[] { 'a','b','c','d' } );

context.Table1.Where( t => list.Contains( t.Field2)).Select ( s => new { s.Field1 } );

註:不要用 ToUpper / ToLower ,這樣會讓資料庫多一道字串函式運算。

player iT邦大師 1 級 ‧ 2020-03-27 21:11:59 檢舉
個人印象中
T-SQL轉LINQ的工具, 沒有
LINQ 轉 SQL 的工具, 有

請盡量避免欄位裡的資料同時存在英文大小寫
在insert或update就預先清理過
統一使用英文大寫或小寫
這樣才能夠避免在select時多做字串的轉換
freedr iT邦新手 5 級 ‧ 2020-03-29 07:09:39 檢舉
謝謝回覆。在下使用的是 C# Entity Framework,才會遇到 lambda/Linq 中字母大小寫比對的問題。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答