linq到实体包含不起作用



我是linq-to实体的新手,在使用contain方法时遇到了问题。这是我数据库中的示例表。

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;

结果只是第一行的名字恰好是Tom。

如何获得包含4行的结果?例如SQL LIKE方法%Tom%。

谢谢你的帮助和好意。

环境:VS2010/.Net FrameWork4

//更新//

非常感谢本·米兰。在语句后面添加ToList()后,它就可以工作了。

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

这两种说法有什么区别?我不明白为什么这种改进能奏效。

尝试

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

这样行吗?

相关内容

最新更新