微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LINQ to Entities不支持该方法…System.Object CompareObjectEqual

如何解决LINQ to Entities不支持该方法…System.Object CompareObjectEqual

|| 当我执行以下代码时,我收到错误消息:   LINQ to Entities无法识别方法\'System.Object CompareObjectEqual(System.Object,System.Object,Boolean)\',并且该方法无法转换为商店表达式。 它似乎发生在PCstudent的For Each row2行中。
    Protected Sub btnPushSemester_Click(sender As Object,e As EventArgs) Handles btnPushSemester.Click
    Dim dbPC As New Campus6Entities
    Dim dbContext As New pbu_housingEntities
    Dim getoccupants
    Dim thisYear As String
    Dim thisTerm As String
    Using dbContext
        Dim get_Year = From p In dbContext.Configs _
                           Where p.Description = \"year\" _
                           Select p

        Dim get_Term = From p In dbContext.Configs _
                       Where p.Description = \"term\" _
                       Select p

        thisYear = get_Year.First.textValue
        thisTerm = get_Term.First.textValue
        getoccupants = From p In dbContext.Residents _
                 Where p.semester = thisTerm _
                 Where p.year = thisYear _
                 Select p

        Using dbPC
            For Each row In getoccupants
                Dim student_info = row
                Dim people_id = student_info.people_code_id
                Dim building_code = student_info.Building1.building_code
                Dim room = student_info.Room1.room1
                Dim PCstudent = From r In dbPC.RESIDENCies _
                                Where r.PEOPLE_ID = people_id _
                                Where r.ACADEMIC_YEAR = thisYear _
                                Where r.ACADEMIC_TERM = thisTerm _
                                Select r

                For Each row2 In PCstudent
                    Dim student_info2 = row2
                    student_info2.DORM_BUILDING = building_code
                    student_info2.DORM_ROOM = room
                    student_info2.RESIDENT_COMMUTER = \"R\"
                    student_info2.DORM_CAmpuS = \"O000000001\"
                    dbPC.SaveChanges()
                Next
            Next
        End Using
    End Using

End Sub
    

解决方法

        首先,您正在以最困难的方式来做事情(在代码中逐行更新),而不是一次更新数据库;那就是说,表面上看起来没有什么不对。您可能会检查\'dbPC.Residencies \'的定义以确保正确定义了它,并且可能需要在\“ For Each \”之前加上\“ if(PCStudent.Any())\”复选框。 ”,尽管它应该按书面规定工作。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。