none
怎么样动态引用Entity? RRS feed

  • 问题

  • 有这样一个应用,,,

    Public Sub New()
          Select Case ReportName.ToUpper
                Case "PAYMENTSPENDING"
                    DDS.QueryName = "GetPaymentSpendingQuery"
                Case "SHIPMENTDATA"
                    DDS.QueryName="GetShipmentDataQuery"
          End Select
          DDS.Load()
    End Sub


    Private Sub DDS_LoadedData(ByVal sender As System.Object, ByVal e As System.Windows.Controls.LoadedDataEventArgs)
          If e.HasError Then
                MessageBox.Show(e.Error.Message)
                e.MarkErrorAsHandled()
           Else
                 Dim temp = From i In DDS.data Group By i.GEO Into CW = Sum(i.CW), FC = Sum(i.CWFC)
                                                                   Select GEO, CW, Gap = ProcessFC(CW, FC)
           endif
    End Sub

    这里的问题在于,i 的类型动态的,编译器不知道 i 的类型,那怎么样可以指定 i 的类型呢?


    不吝赐教
    2011年5月5日 8:36

答案

  • 你好,

    i 的类型动态的,编译器不知道 i 的类型”。

    首先说明一下。这里的 i 是一个范围变量,如果数据源实现了 IEnumerable<T>,则编译器可以推断范围变量的类型。例如,如果数据源的类型为 IEnumerable<Person>,则推断出范围变量的类型为 Person。

    仅当数据源是非泛型 IEnumerable 类型(如 ArrayList)时,才必须显式指定数据源类型。

    从你的句子来看,DDS.Data 应该就是 DomainDataSource.Data 属性。 它是一个非泛型 IEnumerable 类型。 所以你必须显示指定数据类型。

    From i as YourEntityClassName in DDS.Data ......

    有关更多的信息,请参阅以下文档:

    http://msdn.microsoft.com/zh-cn/library/bb397937.aspx

    希望对你有所帮助。


    Daoping Liu - MSFT
    2011年5月9日 2:39
    版主