在LINQ中进行条件过滤到SQL
需要获取使用LINQ到SQL符合某些条件的随机数据库行? 当特定记录并不关键时,这特别有用,但其相关条件是。 例如,选择一个随机活跃的客户。
最有效的方法涉及数据库中的“虚拟”用户定义函数(UDF)。
<code class="language-csharp">partial class MyDataContext { [Function(Name="NEWID", IsComposable=true)] public Guid Random() { throw new NotImplementedException(); } }</code>
>
函数随机订购行。 结果是一个随机行满足
。<code class="language-csharp">var cust = (from row in ctx.Customers where row.IsActive // Your filter condition orderby ctx.Random() select row).FirstOrDefault();</code>
>OrderBy
绩效的重要说明:ctx.Random()
>
NEWID()
row.IsActive
此方法是较小至中型表的理想选择。 对于非常大的桌子,服务器端的开销可能很重要。 在这种情况下,它更有效地:
检索特定行。
以上是如何使用LINQ到SQL获取随机行会遇到特定条件?的详细内容。更多信息请关注PHP中文网其他相关文章!