linq to sql,以查询开头

bar*_*ros 3 .net c# sql linq

我有一个语言表:

LangId LangName
1       English
2       EngTest
3       Germany
Run Code Online (Sandbox Code Playgroud)

我想写一个显示LangName开始'Eng'的查询

var query = dc.Languages.Where(p=>p.LangName.Contains(txtBxLangNameFilter.Text));

我是linq to sql的新手.有人可以告诉我怎么写吗?

Joh*_*Woo 10

Contains测试是否在任何位置的字符串中找到字符串.由于您要测试以某个字符串开头的字符串,请使用StartsWith().

var query = dc.Languages
              .Where(p => p.LangName.StartsWith(txtBxLangNameFilter.Text));
Run Code Online (Sandbox Code Playgroud)

  • IIRC,如果使用`NotSupportedException转换为SQL,`StartsWith`可能会失败. (2认同)