我试图生成看起来像这样的SQL查询:
function Person()
{
var o=new Object();
o.age=30;
return o;
}
var p1=Person();
var p2=new Person();
console.log(typeof(p1)==typeof(p2))
这就是我能做的:
SELECT * FROM Contact Where UserId = @UserId AND (FirstName = 'John' OR Surname = 'Smith')
还要考虑Surname条件是可选的,这意味着使用原始字符串我们可以构建字符串。有没有办法不必使用原始的SQL字符串?
可能的解决方案:
Db.From<Contact>().Where(c => c.UserId == userId)
.And("(FirstName = {0} OR Surname = {1})"), firstName, surname);
有谁知道更好的解决方案?
答案 0 :(得分:1)
var ev = Db.From<Contact>().Where(c => c.UserId == userId);
if (someCase)
ev.And(c => c.FirstName == firstName || c.Surname == surname);
或者如果没有someCase
var ev = Db.From<Contact>().Where(c => c.UserId == userId && (c.FirstName == firstName || c.Surname == surname));