我正在使用EF 5和VB.NET。 我有一个上下文,我处理尺寸和立方体。
一切正常但是当我想加载一个Cube及其相关的维度时,每个维度都有它的立方体,所以我最终会进入一个无法完成的大循环。
这张照片的最佳方法是什么? 如何加载所有多维数据集和相关维度,并加载所有维度及其相关多维数据集,而不是以无限循环结束?
非常感谢任何想法。
干杯
更新:
这是我用来从EF模型加载“操作模型”的函数示例。 在触发众多循环之一的地方,在这种情况下,“objCube.LoadCubeFromDB(c)”作为此函数包含LoadDimensionFromDB并启动循环。
Public Sub LoadDimensionfromDB(objDB as dbDimension) Me.Name = objDB.Name& “” Me.Description = objDB.Description& “” Me.ID = objDB.ID& “” Me.GID = objDB.GID
Using context As New QDModelContext()
Dim dbDim = context.Dimensions.Find(objDB.dbDimensionID)
For Each c In objDB.Cubes
Dim objCube As Cube = New Cube()
objCube.LoadCubefromDB(c)
Me.Cubes.Add(c)
Next
For Each p In dbDim.DimensionTIs
Dim objTI As TI = New TI()
objTI.LoadTIfromDB(p)
Me.addTi(objTI)
Next
For Each e In dbDim.DimensionElements
Dim objElem As Element = New Element()
objElem.LoadElementFromDB(e)
Me.addElement(objElem)
Next
For Each a In dbDim.DimensionAttributes
Dim objAttr As Attribute = New Attribute()
objAttr.LoadAttributeFromDB(a)
Me.addAttributes(objAttr)
Next
For Each s In dbDim.DimensionSubsets
Dim objSet As DimensionSubset = New DimensionSubset()
objSet.LoadDimSubsetfromDB(s)
Me.dimSubset.Add(objSet)
Next
End Using
End Sub