objectcontext vs datacontext

时间:2011-03-22 09:16:51

标签: vb.net silverlight ria

我只是开发Silverlight的新手,我创建了一个linq to sql连接和一个服务域类。我想从2个表中获取数据,这些表与数据网格视图有1对多的关系。要做到这一点,我需要在我的元数据和服务域类中声明include命令,但为了做到这一点,我需要有一个objectcontext而不是datacontext(我现在有)可以有人帮我解决这个问题所以我可以使用用于获取详细网格的查询的include语句

编辑:

我已经完成了你所说的添加了

"<IncludeAttribute()> _"
Public Property SubgroepIndustries As EntitySet(Of SubgroepIndustrie)

但是我收到此错误消息: 错误1'包含'不是'System.Data.Linq.Table(Of ILA4.HoofdgroepIndustrie')的成员 编辑2:  当我尝试在我的域服务类中使用include而不是元数据时

Return Me.DataContext.HoofdgroepIndustries.Include("SubgroepIndustries")

不起作用

1 个答案:

答案 0 :(得分:0)

ObjectContext是在您生成的DomainService类中生成的类。

只需在您创建的this.ObjectContext课程中执行DomainService,即可访问所需的课程。

我假设您使用的是RIA服务,而DomainService MetaData类标有[Include]个属性。否则,执行this.ObjectContext.SomeEntity.Include("ChildEntity")将无法解决问题。

编辑:

在.metadata.vb

中将<IncludeAttribute()> _添加到Public Property SubgroepIndustries As EntitySet(Of SubgroepIndustrie)

对于ObjectContext,我认为查看您的代码不需要ObjectContext。请改用DataContext

所以例如:

Public Function GetHoofdgroepIndustries() As IQueryable(Of HoofdgroepIndustrie)
    Return Me.DataContext.HoofdgroepIndustries.Include("SubgroepIndustries")
End Function

是你将如何做到的。

编辑2:Imports System.ServiceModel.DomainServices.Server

需要<IncludeAttribute()>