我有一個SQL表,它有一個簡單的字符串字段,可能包含單個值(例如'ABC'),或者它可能包含由管道定界的列表('|')字符(例如'ABC | EDF | GHI')。使用LINQ來確定數據庫表中是否存在值
如果我有一個SharePoint列表,並希望交叉檢查,以確保所有在我的SP名單中值的SQL表存在,我可以很容易地做到這一點假設SQL場只有一個值:
var listitems = from SPListItem item in spList.Items
where item[myfieldname].Equals(valueImChecking)
select item;
如何使用類似的方法檢查相同的SQL字段,假定它包含由'|'分隔的值列表?如果這個字段的值是'ABC | EDF | GHI',並且我正在檢查它是否包含'GHI',那麼我如何在LINQ中構建查詢?
TIA, -Tony。
我想你需要String.Split方法。不幸的是,它不存在於Linq-to-SQL(請參閱[分割字段在linq中的字符串](http://stackoverflow.com/questions/9283752/split-field-a-string-in-a-linq) )。因此,您可能需要將數據檢索到本地計算機內存(通過將'IQueryable'轉換爲'IEnumerable')來處理該字段。 –
@Tony:請在我的回答下看看CédricBignon的評論。這是你想要的? – shahkalpesh
@shahkalpesh:是的,我相信。謝謝。 – Tony