1

我是 linq to entity 的新手,在使用 contains 方法时遇到问题。这是我的数据库中的示例表。

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 to entity 我写了声明

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

//更新//

非常感谢本米兰。它在我在语句后面添加 ToList() 后起作用。

var query= (from a in edm .UserTable 
               where a.Name.Contains("Tom")
               select a).ToList();

这两种说法有什么区别?我徘徊为什么这种改进可以奏效。

4

1 回答 1

3

尝试

entities edm = new entities();
var query= (from a in edm .UserTable 
       where a.Name.Contains("Tom")
       select a).ToList();

那样有用吗?

于 2013-08-27T15:46:17.227 回答