我尝试了几种方法来执行一个简单的查询,但没有成功。
var result = db.Persons.Where("surname = bob");
以上将给出错误:“人物”类型中没有属性或字段“bob”
var result = db.Persons.Where("surname = 'bob'");
以上将给出错误:字符文字必须包含一个字符
有没有其他人遇到过这些问题,你做了什么? 是不是动态LINQ假设像这样工作或有旧版本或什么?
我已将Dynamic.cs
添加到我的项目中,我using System.Linq.Dynamic
。
答案 0 :(得分:9)
进行比较时,您需要两个==
,并且为了避免注射,请使用以下重载:
var result = db.Persons.Where("surname == @0", "bob");
答案 1 :(得分:3)
var result = db.Persons.Where("surname == \"bob\"");
会起作用,但你应该确保所有的鲍勃都是正确的逃脱。
那就是说,你最好有这样的事情:
String bob = "bob"; // or whatever
var result = from p in db.Persons p
where p.surname = bob
select p