我的一个班级中有一个 XPCollection。这是另一个类的 XPCollection。当我运行应用程序时,XPCollection 没有被加载。调试的时候在断点处可以看得很清楚。这是我在我的对象中使用的代码。:
private XPCollection<LimitAllocationTotals> _LimitAllocationTotals;
public XPCollection<LimitAllocationTotals> LimitAllocationTotals LimitAllocationTotals
{
get
{
if (LimitAllocations.IsLoaded && LimitAllocations != null)
{
UnitOfWork uow = new UnitOfWork();
_LimitAllocationTotals = new XPCollection<LimitAllocationTotals>(uow, new BinaryOperator("Oid", Guid.Empty));
_LimitAllocationTotals.Session = this.Session;
foreach (LimitAllocation allocation in LimitAllocations)
{
LimitAllocationTotals allocationTotals = new LimitAllocationTotals(this.Session);
allocationTotals.MTMLimit += allocation.MTMLimit;
allocationTotals.ARLimit += allocation.ARLimit;
allocationTotals.Volume += allocation.Volume;
allocationTotals.MaxTenor = allocation.MaxTenor;
allocationTotals.SourceEntity = allocation.SourceEntity;
allocationTotals.Commodity = allocation.Commodity;
allocationTotals.ConvertedVolume = allocation.ConvertedVolume;
_LimitAllocationTotals.Add(allocationTotals);
}
foreach (LimitExtension extension in LimitExtensions)
{
if (extension.ExpirationDate >= DateTime.Now)
{
LimitAllocationTotals searchAllocation = null;
foreach (LimitAllocationTotals allocation in _LimitAllocationTotals)
{
if (allocation.SourceEntity != null && allocation.SourceEntity.Oid.Equals(extension.SourceEntity.Oid))
{
searchAllocation = allocation;
break;
}
}
if (searchAllocation == null)
{
searchAllocation = new LimitAllocationTotals(this.Session);
searchAllocation.SourceEntity = extension.SourceEntity;
_LimitAllocationTotals.Add(searchAllocation);
}
searchAllocation.MTMLimit += extension.MTMLimit;
searchAllocation.ARLimit += extension.ARLimit;
searchAllocation.Volume += extension.Volume;
searchAllocation.Commodity = extension.Commodity;
searchAllocation.MaxTenor += extension.MaxTenor;
// searchAllocation.CalculateMeasureConversion(_Commodity, _VolumeUnit);
//searchAllocation.VolumeUnit = extension.VolumeUnit;
}
}
}
return _LimitAllocationTotals;
}
set
{
SetPropertyValue("LimitAllocationTotals", ref _LimitAllocationTotals, value);
}
}