C# Linq到SQL的简短问题
下面我有一个问题。尽管有人能指出“来自p”是什么意思吗?还有“var r”C# Linq到SQL的简短问题,c#,.net,sql,sql-server,windows,C#,.net,Sql,Sql Server,Windows,下面我有一个问题。尽管有人能指出“来自p”是什么意思吗?还有“var r” p表示引用的集合中的每个特定项(db.Products)。请参阅MSDN上的 var是语法糖-它解析为LINQ查询返回的类型,将类型分配给变量r。请参阅MSDN上的 为了更好地理解LINQ,我建议通读。中的p表示来自db的任何记录。Product和varr表示p 整体整体报表意味着提供db.Products中的所有记录(p),其中p.UnitPrice大于15 参见问题了解更多关于varr是组合查询-anIQueryab
p
表示引用的集合中的每个特定项(db.Products
)。请参阅MSDN上的
var
是语法糖-它解析为LINQ查询返回的类型,将类型分配给变量r
。请参阅MSDN上的
为了更好地理解LINQ,我建议通读。
中的p
表示来自db的任何记录。Product
和var
r表示p
整体整体报表意味着提供db.Products
中的所有记录(p),其中p.UnitPrice
大于15
参见问题了解更多关于
var
r
是组合查询-anIQueryable
或类似查询;请注意,查询尚未执行-它只是一个挂起的查询var
表示“编译器,从右边的表达式中找出r的类型”。在本例中,您可以明确说明,但不是全部。但它不会增加任何价值,所以var
是可以的
p
是每种产品的方便标记;查询是“对于每个产品(p),仅限于单价大于15的产品(其中p>15
),因此选择该产品(选择p
)
最终,这将编译为:
IQueryable<Product> r =
db.Products.Where(p => p.UnitPrice > 15);
IQueryable r=
db.产品,其中(p=>p.单价>15);
(在本例中,编译器省略了最后一个
.Select(p=>p)
,但通过非平凡的投影或平凡的查询,.Select(…)
被保留)谢谢,回答得很好!
IQueryable<Product> r =
db.Products.Where(p => p.UnitPrice > 15);