看來我無法把一個where子句放在包含在我的域服務中 - 所以我們正在做一些循環來獲取我們需要的一些lookupGroups的數據。懶惰加載導航屬性
var _lookupGroups = _lookupGroupRepository.All();
var _lookupValues = _institutionLookupValueRepository.All().Where(x => x.InstitutionID == _userProfile.InstitutionID);
int i = 0;
foreach (var _group in _lookupGroups)
{
var _values = _lookupValues.Where(x => x.LookupGroupID == _group.LookupGroupID);
foreach (var _value in _values)
{
_group.InstitutionLookupValues.Add(_value);
i++;
}
Console.WriteLine(_group.GroupName + " " + i.ToString());
}
return _lookupGroups;
我放入的計數器用於驗證我所看到的 - 我們迭代的第一組是國家。我的櫃檯會說50,但我的導航屬性會說100,顯示每個機構我們有一套50(我們有2套)。所以它會去得到所有的lookupvalues並把它們放在導航屬性中,即使我的計數器說50也是我已經刪除了所有包含在元數據文件中。
澄清:我有查找值附加到lookupGroups。查找值分配給機構。所以如果我去得到STATES查找組的值,我會得到50個查找值。上面的代碼。當我運行這一行_group.InstitutionLookupValues.Add(_value);我的InstitutionLookupValues = 100(無論機構在考慮所有lookupValues)。但是我的計數器顯示爲50.在某些地方,我獲得的所有查找值都不確定與特定機構綁定的值。
我不明白是什麼問題。你的櫃檯是什麼?這是不同的數字有問題嗎? – 2012-04-11 20:26:14
謝謝 - 已經更新了一下這個問題。 – gevjen 2012-04-11 20:55:52