Linq To Sql语句的Where
where操作与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。
Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下:
例如:使用where筛选在某学院的学生
var q =from tbacademc in db.academc
where tbacademc.name == "luxi"
select tbacademc;
再如:筛选2020 年或之后入学的学生
var q =from tbacademc in db.academc
where tbacademc.name >= new DateTime(2020, 1, 1)
select tbacademc;
筛选库存量在订货点水平之下但未断货的产品:
var q =from p in db.Products
where p.UnitsInStock <= p.ReorderLevel && !p.Discontinued
select p;
筛选出UnitPrice 大于10 或已停产的产品:
var q =from p in db.Products
where p.UnitPrice > 10m || p.Discontinued
select p;
下面这个例子是调用两次where以筛选出UnitPrice大于10且已停产的产品。
var q =db.Products.Where(p=>p.UnitPrice > 10m).Where(p=>p.Discontinued);
返回集合中的一个元素,其实质就是在SQL语句中加TOP。
简单用法:选择表中的第一个发货方。
var q =db.Products.Where(p=>p.UnitPrice > 10m).Where(p=>p.Discontinued);
元素:选择CustomerID 为“BONAP”的单个客户
Customer cust = db.Customers.First(c =>c.CustomerID == "BONAP");
条件:选择运费大于 10.00 的订单:
Order ord = db.Orders.First(o =>o.Freight > 10.00M);
这是我所学到的一些知识,在此分享给大家,希望可以帮助到你们。
以上就是我的分享,新手上道,请多多指教。如果有更好的方法或不懂得地方欢迎在评论区教导和提问喔!