【问题标题】:How do I get other table information from linq ".include"如何从 linq ".include" 获取其他表信息
【发布时间】:2015-04-13 19:12:23
【问题描述】:

我正在尝试通过使用此...从 Table1 和 Table2 获取信息....

Public Shared Function SelectDataByDateAndLastName(ByVal Date As Date, ByVal TxtBoxLastName As String)

    Dim TableItems As ObjectQuery(Of tblTable1) = From TableItem In tblTable1.Include("tblTable2")
                                                        Where TableItem.ItemDate = Date _
                                                        And tblTable2.LastName = TxtBoxLastName
    Return TableItems

但我在 tblTable2.LastName 上收到错误

Reference to a non-shared member requires an object reference

知道如何从 Table2 中获取 LastName 信息吗?或者我什至没有使用这个权利?谢谢!

【问题讨论】:

  • 这是Entity Framework吗?
  • 是的,至少据我所知。
  • 嗯,你应该肯定知道,否则你就是在盲目地编程。一方面,您似乎不知道Include 的用途。 not 在您的查询中包含任何其他表。如果这对您来说是全新的(没关系),您最好做一些关于实体框架和 LINQ 的教程。例如,了解导航属性和包含与连接。
  • 你说得对,我是新手。我将听取您的建议并了解有关实体框架和 LINQ 的更多信息。似乎我在这里缺少一些关键主题的知识。谢谢你的建议。
  • 我会使用 Join 命令。

标签: database vb.net linq entity-framework


【解决方案1】:

应该有一个导航属性——你可以这样访问它:

Dim TableItems As ObjectQuery(Of tblTable1) = 
    From TableItem In tblTable1.Include("tblTable2")
    Where TableItem.tblTable2.LastName = TxtBoxLastName

【讨论】:

  • 我收到一个错误tblTable2 is not a member of Entities.tblTable1.
  • 那你没有设置外键关系或者这不是EF。
  • 当您创建DB 时,如果您在表之间建立外键关系,那么EF 会在原始表上创建一个Navigation Property。该表的所有成员都可以通过该属性获得。
猜你喜欢
  • 2017-08-09
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-04
相关资源
最近更新 更多