我是新來的linq to entities,我在使用contains方法時遇到了問題。 這是我的數據庫中的示例表。linq to entities contains not does not work
DataTable UserTable = new DataTable();
UserTable .Columns.Add("ID", typeof(int));
UserTable .Columns.Add("Name", typeof(string));
UserTable .Rows.Add(1,"Tom");
UserTable .Rows.Add(2,"Tom_dad");
UserTable .Rows.Add(3,"Tom_mom");
UserTable .Rows.Add(4,"Tom_sister");
在LINQ到實體我寫的聲明
entities edm = new entities();
var query= from a in edm .UserTable
where a.Name.Contains("Tom")
select a;
結果是唯一的第一行,其中的名稱正是湯姆。
如何獲得包含4行的結果?如SQL LIKE方法%Tom%。
感謝您的幫助和善良。
環境:VS2010/.NET FrameWork4
// //更新
非常感謝奔Millane。 它在語句後面添加ToList()後有效。
var query= (from a in edm .UserTable
where a.Name.Contains("Tom")
select a).ToList();
這兩條語句有什麼區別?我徘徊爲什麼這種改進可以奏效。
如果UserTable有一個名爲「Name」的行,並且包含4條記錄,並且Tom中有記錄 - 那麼您的查詢應該可以工作。 –
這就是你如何做到的。我想你在其他地方錯過了一些東西。 – gunr2171
難道你不在你的'query'對象上的某處執行FirstOrDefault()或First()嗎?因爲這應該是完全正確的。 –