我的解决方案中有一个POCO对象,它有一些Entity
个对象作为属性。我在许多其他类中已经完成了这个,但是当基类是POCO而不是另一个Entity
时,我没有这样做。
以下是该类的服务器端版本:
public partial class ItemLocationPricingDetail
{
public ItemLocationPricingDetail()
{
}
[Key]
[DataMember]
public int ItemLocationDetailId
{
get;
set; //get { return _itemLocationDetail.Id; }
}
[DataMember]
public int ItemMasterId
{
get
{
if (ItemLocationDetail == null) return 0;
return ItemLocationDetail.ItemMaster.ItemMasterId;
}
}
private EntityRef<ItemLocationDetail> _itemLocationDetail;
[DataMember]
//[Include()]
//[Association("ParentChild", "ItemLocationDetailId", "Id", IsForeignKey = false)]
public ItemLocationDetail ItemLocationDetail
{
get { return _itemLocationDetail.Entity; }
set { _itemLocationDetail.Entity = value; }
}
[DataMember]
public ItemMaster ItemMaster
{
get
{
if (ItemLocationDetail == null) return null;
return ItemLocationDetail.ItemMaster;
}
set { ItemLocationDetail.ItemMaster = value; }
}
private decimal _newPrice;
[DataMember]
public decimal NewPrice
{
get { return _newPrice; }
set { _newPrice = value; }
}
}
我确实有一个客户端部分类,但是它不会处理任何这些属性。
我还有一个元数据类如下:
[MetadataTypeAttribute(typeof(ItemLocationPricingDetail.ItemLocationPricingDetailMetadata))]
public partial class ItemLocationPricingDetail
{
internal sealed class ItemLocationPricingDetailMetadata
{
[Key]
public int ItemLocationDetailId { get; set; }
[Include]
[Association("ItemLocationDetailAssociation", "ItemLocationDetailId", "Id")]
public EntityRef<ItemLocationDetail> ItemLocationDetail { get; set; }
[Include]
[Association("ItemMasterAssociation", "ItemMasterId", "ItemMasterId")]
public EntityRef<ItemMaster> ItemMaster { get; set; }
}
}
问题是我对ItemLocationDetail
属性的属性进行了简单修改。然后我在SubmitChanges
上拨打DataContext
,这完全没问题。问题是,在完成后,某事尝试访问ItemLocationPricingDetail
类中的某些属性,但由于某种原因,ItemLocationDetail
现在为空。这就是为什么整个班级都对该属性进行空检查,这样我就可以尝试查看问题所在,但我无法找到问题。
我猜测在调用ItemLocationPricingDetail
后更新SubmitChanges
类时会发生这种情况,但我不确定RIA服务在该级别的工作情况。
正如您所看到的,ItemLocationDetail
属性周围有一些注释掉的代码,虽然编译并且没有给出错误,但问题仍然存在。这是我在互联网上找到的与此问题有关的唯一信息。
有人可以提出任何建议吗?如果您需要更多信息,我会提供。
感谢。