是否存在与LINQ to SQL的OnCreated部分相当的EF?
我的几个对象都有XML字段,我想在从db加载对象时解析它 - 我想把XML数据放到更友好的强类型集合中。我已经将XML字段标记为私有,并在将项目提交回数据库之前挂钩了SavingChanges事件以重新构建XML,但是无论何时加载对象,我都无法弄清楚如何填充集合。 / p>
我已经考虑过在我的XML字段中使用OnFieldChanged partial,但是只要在SavingChanges中重新构建XML字段,它就会再次运行,所以看起来应该有更好的方法。
答案 0 :(得分:3)
或者在.net 4.0中使用ObjectContext.ObjectMaterialized事件
答案 1 :(得分:2)
据我所知,没有OnLoaded
事件或类似事件。解决方法可能是将集合公开为属性,并在第一次访问时懒惰地创建/解析值:
private List<SomeData> _parsedDataCache;
public IList<SomeData> ParsedData {
get {
if (_parsedDataCache == null)
ParseData();
return _parsedDataCache;
}
}
答案 2 :(得分:-2)
您应该创建一个部分类(就像在LINQ to SQL中那样)并且只使用默认构造函数。