LIKE查询实体框架

时间:2012-08-02 22:19:44

标签: c# wpf sql-server-2008-r2 ef-code-first

  

可能重复:
  How to do SQL Like % in Linq?
  Like Operator in Entity Framework?

我正在做这样的查询:

    var matches = from m in db.Customers
        where m.Name == key
        select m;

但我不需要m.Name与key完全相同。我需要m.Name才能成为关键。

我找不到如何重新创建SQL查询:

    WHERE m.Name LIKE key

我正在使用SQL Server 2008 R2。

怎么做?

感谢。

2 个答案:

答案 0 :(得分:56)

这样的事情对你有用吗?

var matches = from m in db.Customers
    where m.Name.Contains(key)      
    select m;

这也应该有效我编辑了我的答案

答案 1 :(得分:19)

var matches = from m in db.Customers     
    where m.Name.StartsWith(key)
    select m;

进行搜索并比较字符串是小写还是大写以获得最佳结果,因为C#区分大小写。

var matches = from m in db.Customers     
    where m.Name.ToLower().StartsWith(key.ToLower())
    select m;