将first_value转换为分区依据linq

时间:2016-11-24 14:49:37

标签: c# entity-framework linq

我是LINQ的新手,对于像我这样非常习惯普通SQL查询的人来说仍然是一个挑战。

我在SQL中使用子查询进行左侧连接和SQL服务器标准函数(如FIRST_VALUE),可以将其转换为LINQ吗? 不知道如何在LINQ中重写这个first_value函数..

Public Function containerVariant()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = Application.CurrentDb
    Set rs = db.OpenRecordset("MyTable")

    Dim NumberOfSizes As String
    Dim NumberOfColors As String
    Dim Variant As String

Select Case NumberOfSizes
       Case Is > 0
           Select Case NumberOfColors
               Case Is < 0
                    Variant = 1
               Case Is > 0
                    Variant = 2
           End Select

       Case Else
           Variant = 9
End Select

End Function

1 个答案:

答案 0 :(得分:0)

您可以使用.First()方法从实现IEnumberable的集合中获取第一个元素。

一个例子:

int[] number = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 };
var num = number.Where(n => n > 10).First(); 

where方法查看数字数组并查找值大于10的值。

这将返回一个只有11的集合,然后我们得到第一个返回11的值。

一个伟大的课程是斯科特艾伦的Pluqight的Linq Fundamental。在哪里可以找到其他运营商,如firstOrDefault等。