我有以下sql查询
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
if string.characters.count == 0 && range.length > 0 {
// Back pressed
// do whatever you want with your labels..
return false
}
return true
}
我希望将它转换为linq语句lambda表达式和类似sql的语法。我试过但似乎有点困难。我也使用了像sqltolinq这样的工具但似乎没有工作。
问题在于类似sql的语法是我的查询连接包含多个包含 select * from one a
inner join one b
on
(
a.weekday=b.weekday
and a.starttime =b.starttime
and a.sl>b.sl
)
where a.weekday=b.weekday and a.starttime=b.starttime and a.endtime=b.endtime
和equal
运算符的元素。
任何帮助将不胜感激
答案 0 :(得分:3)
LINQ只支持equijoins,但是你可以为工作日和开始时间做一个等值连接,然后用endtime部分然后用where子句做其余部分。
// Names changed to be more idiomatic where feasible. We have no
// idea what "sl" means.
var query = from a in db.TableA
join b in db.TableB
on new { a.WeekDay, a.StartTime, a.EndTime }
equals new { b.WeekDay, b.StartTime, b.EndTime }
where a.Sl > b.Sl
select ...;