linq to entities包含不起作用

时间:2013-08-27 15:43:03

标签: c# linq linq-to-sql linq-to-entities

我是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 entities中,我写了声明

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

//更新//

非常感谢Ben Millane。 它在我在语句后添加ToList()后工作。

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

这两个陈述有什么区别?我想为什么这种改进可以起作用。

1 个答案:

答案 0 :(得分:3)

尝试

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

这有用吗?