objectcontext vs datacontext - PullRequest
       3

objectcontext vs datacontext

0 голосов
/ 22 марта 2011

Я новичок в разработке Silverlight, и я создал соединение linq to sql и класс домена обслуживания. Я хочу получить данные из 2 таблиц, которые имеют отношение 1 ко многим, в сетку данных. Чтобы сделать это, мне нужно указать включаемые команды в моих метаданных и классе служебного домена, но для этого мне нужен объектный контекст вместо datacontext (который у меня сейчас есть), кто-то может мне помочь с этим вопросом, чтобы я мог использовать оператор включения, чтобы получить запросы для моей сетки деталей

редактирование:

Я сделал то, что ты сказал, добавил

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

но я получаю это сообщение об ошибке: Ошибка 1 «Включить» не является членом «System.Data.Linq.Table (Of ILA4.HoofdgroepIndustrie») редактировать 2: когда я пытаюсь использовать класс включения в моем домене, а не метаданные,

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

не работает

1 Ответ

0 голосов
/ 22 марта 2011

ObjectContext - это класс, который создается внутри созданного вами DomainService класса.

Просто выполните this.ObjectContext в классе DomainService, который вы создали, и у вас должен быть доступ к тому классу, который вы ищете.

Я предположил, что вы используете службы RIA иВаш DomainService MetaData класс помечен [Include] атрибутами.В противном случае выполнение this.ObjectContext.SomeEntity.Include("ChildEntity") не сработает.

Редактировать:

Добавить <IncludeAttribute()> _ к Public Property SubgroepIndustries As EntitySet(Of SubgroepIndustrie) в вашем .metadata.vb

Что касается 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()>

...