【问题标题】:How to get a list from a linq to Entity Framework query using vb.net如何使用 vb.net 从 linq 到实体框架查询获取列表
【发布时间】:2015-10-31 22:55:31
【问题描述】:

我认为从 VB.Net 中的 SQL 表中获取数据会很容易,尤其是使用 Linq,但我就是无法让它工作。我使用的是代码优先模型。

我不知道为什么下面的代码会给我一个错误“未找到类型 'DbQuery(Of Company)' 上的公共成员 'ToList'。”

我什至不能对查询使​​用“For Each”。

        Dim lCompany1 = From proc In model1.Companies _
                    Where proc.Website = website _
                    Select proc

        Dim products As IEnumerable(Of Company) = lCompany1.ToList()

【问题讨论】:

    标签: vb.net entity-framework linq list


    【解决方案1】:

    这应该适合你:

    Dim lCompany1 = (From proc In model1.Companies 
                     Where proc.Website = website).ToList()
    

    【讨论】:

    • 我想更新记录,但是当我执行“lCompany1.Website = website”之类的操作时,它给了我一个错误“找不到类型'DbQuery(Of Company)的公共成员'网站'。 ", 当使用 "Dim lCompany1 = (From proc In model1.Companies Where proc.Website = website)"
    • 使用“Dim lCompany = lCompany1.First”给我同样的错误
    • 我通过使用“For Each company As Company In lCompany1, company.Website = website, Next”让它工作,但我仍然想知道为什么“First”不起作用
    • 我不知道你为什么会得到DbQuery(Of Company)
    • 你给我的那个答案也不起作用,它只是把我输入的数据放进去,但没有返回任何东西
    【解决方案2】:

    我得到它与以下工作:

        Dim con As String = ConfigurationManager.ConnectionStrings("Model1").ConnectionString
        Dim db As New DataContext(con)
        Dim a As Table(Of Catagory2)
        a = db.GetTable(Of Catagory2)()
        Dim dt As List(Of Catagory2) = a.AsQueryable.Where(Function(p) p.Town.Contains("something")).ToList()
    

    我使用了以下模型:

    Imports System
    Imports System.Data.Linq.Mapping
    
    <Table(name:="Category")> _
    Public Class Catagory2
    Private _Id As Integer
    Private _Town As String
    Private _Category As String
    Private _Done As String
    Private _State As String
    Private _URL As String
    
    <Column(IsPrimaryKey:=True, IsDbGenerated:=True)> _
    Public Property Id() As Integer
        Get
            Return _Id
        End Get
    
        Set(ByVal value As Integer)
            _Id = value
        End Set
    End Property
    
    <Column(CanBeNull:=True)> _
    Public Property Town() As String
        Get
            Return _Town
        End Get
    
        Set(ByVal value As String)
            _Town = value
        End Set
    End Property
    
    <Column(CanBeNull:=True)> _
    Public Property Category() As String
        Get
            Return _Category
        End Get
    
        Set(ByVal value As String)
            _Category = value
        End Set
    End Property
    
    <Column(CanBeNull:=True)> _
    Public Property State() As String
        Get
            Return _State
        End Get
    
        Set(ByVal value As String)
            _State = value
        End Set
    End Property
    
    <Column(CanBeNull:=True)> _
    Public Property Done() As String
        Get
            Return _Done
        End Get
    
        Set(ByVal value As String)
            _Done = value
        End Set
    End Property
    
    <Column(CanBeNull:=True)> _
    Public Property URL() As String
        Get
            Return _URL
        End Get
    
        Set(ByVal value As String)
            _URL = value
        End Set
    End Property
    End Class
    

    它不适用于 Entity Framework 的 create code-first 模型创建的模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多