ObjectQuery查询Entity SQL的IN用法

SongKer 发布时间:2015-08-04 分类:.NET 阅读:4362次 添加评论

Entity SQL 是一种类似于 SQL 的语言,用于在Entity Framework中查询概念模型。与T-SQL并不一样。

例如:

--获取订单表的行数:

SELECT VALUE COUNT(1) FROM OrderSET AS it

--直接分页

SELECT VALUE it FROM OrderSET AS it 
    WHERE 1=1 ORDER BY it.SortId DESC SKIP(10) LIMIT(20)

以上语句的意思是,通过SortId倒序 筛选Order表里 第10条后的20条数据,即第10-30之间的数据,比T-SQL简单得多。

--想要获取orderid为111,222,333,444这几条数据时,可以这样写

SELECT VALUE it FROM OrderSET AS it 
    WHERE 1=1 AND it.orderid='111' OR it.orderid='222' OR it.orderid='333' ...

--用In语句获取指定的多条订单数据 替换上面的写法

SELECT VALUE it FROM OrderSET AS it 
    WHERE 1=1 AND it.orderid IN {'111','222','333','444'}

而不是用 in('111','222','333','444')这种T-SQL写法了。Entity SQL的NOT IN同理


暂无留言

发表评论:

◎欢迎您的参与讨论。