У меня проблемы с загрузкой некоторых дочерних атрибутов данного объекта.Мне удалось загрузить дочерние объекты на другие объекты, но не этот.Чтобы добавить к разочарованию, ссылки на дочерние сущности, которые я пытаюсь загрузить, ссылаются на другую сущность, и из этого они работают нормально ...
Мой код выглядит следующим образом.
Страница ViewWasteApplication
Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
If NavigationContext.QueryString.ContainsKey("ID") Then
' load an existing record - edit mode
Context.Load(Context.GetWasteApplicationsByIDQuery(Int32.Parse(NavigationContext.QueryString("ID").ToString())),
AddressOf wasteApplicationLoaded, Nothing)
Else
MessageBox.Show("Application not found")
End If
End Sub
Это вызывает GetWasteApplicationsByID - что выглядит следующим образом:
Public Function GetWasteApplicationsByID(ByVal query As Int32) As IQueryable(Of WasteApplication)
Dim result = Me.ObjectContext.WasteApplications.Include("CurrentlyWith") _
.Include("Packaging") _
.Include("WasteStream") _
.Where(Function(f) f.ID = query)
Return result
End Function
WasteApplication возвращается, но ни один из3 дочерних объекта появляются.
Я создал класс MetaData для этого приложения WasteApplication следующим образом:
<MetadataTypeAttribute(GetType(WasteApplications.WasteApplicationsMetaData))> _
Partial Public Class WasteApplications
Friend NotInheritable Class WasteApplicationsMetaData
'Metadata classes are not meant to be instantiated.
Private Sub New()
MyBase.New()
End Sub
Public Property ID As Integer
Public Property RequestedByName As String
Public Property RequestedByExtension As String
Public Property CARQRequired As Boolean
Public Property OriginOfMaterialID As Integer
Public Property Comments As String
Public Property MaterialName As String
Public Property PackagingID As Integer
Public Property FacilityPath As String
Public Property ProcessStatus As String
Public Property DateSubmitted As DateTime
Public Property RequestedByUsername As String
Public Property CurrentlyWithID As Integer
Public Property WasteStreamID As Integer
<Include()>
Public Property WasteStream As WasteStreams
<Include()>
Public Property Packaging As Packaging
End Class
End Class
Может кто-нибудь увидеть что-то не так с этим?Я загружаю те же два дочерних объекта на другую страницу, и они, кажется, загружаются просто отлично.Код для этого следующий:
Просмотр химической заявки (это работает)
Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
Context.Load(Context.GetChemicalApplicationsByIDQuery(Int32.Parse(NavigationContext.QueryString("ID"))),
AddressOf wasteApplicationLoaded, Nothing)
End Sub
С функцией RIA следующим образом:
Public Function GetChemicalApplicationsByID(ByVal query As Int32) As IQueryable(Of ChemicalApplication)
Return Me.ObjectContext.ChemicalApplications.Include("Chemical") _
.Include("ProcessStatus") _
.Include("PlanningApprover") _
.Include("FacilitiesApprover") _
.Include("MaintenanceApprover") _
.Include("PPCPermit") _
.Include("DischargeConsent") _
.Include("Facility") _
.Include("Packaging") _
.Include("WasteStream") _
.Where(Function(f) f.ID = query)
End Function
Есть предложения?
ПРИМЕЧАНИЕ. Я не разместил ни одной из привязок XAML, поскольку подтвердил отладкой, что исходные сущности не содержат дочерние данные, поэтому привязка не будет проблемой.
Я использую Silverlight 4 с Entity Framework 4.