LinQ将结果转换为类列表

时间:2014-09-17 10:34:17

标签: vb.net linq

使用VS 2013(VB)和SQL Server 2012。

我有一个从DB中检索5个变量的类。我使用名为DayAheadSettingsDAL的模块连接到数据库。我刚刚开始尝试LinQ,但我遇到了问题。

代码是

Imports Microsoft.VisualBasic

Module DayAheadSettingsDAL

    Public Function getDASettings() As List(Of DayAheadSettings)

        Dim result As List(Of DayAheadSettings)
        Dim db As New GMConnectionDataContext

        result = db.DayAhead_Settings
        Return result

    End Function

End Module

运行页面时出现以下错误。

  

无法转换类型' SingleResult 1[DayAhead_SettingsResult]' to type 'System.Collections.Generic.List 1 [DayAheadSettings]'的对象。

db.dayahead_Settings是一个存储过程,它返回一组具有不同类型的结果。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

Linq2Sql存储过程中的数据作为SingleResult返回,其中包含结果集中的所有字段。

因此,一个选项不是声明结果集的类型:

Dim result = db.DayAhead_Settings

并将此结果转换为正确的List(Of DayAHeadSettings)

类型