我有一个小问题,它给我一个StackOweflow问题。
我使用带有复杂类型的EF 4.1,这是有效的,问题是你需要创建一个complextype实例,即使所有值都为null,也可以使用它。
所以现在我有一个看起来像这样的课程。
public class GoodsItem{
public GoodsItem InnerGoodsItem{get;set;}
//-- A lot of other properties needed for this class
public GoodsItem()
{
this.InnerGoodsItem = new GoodsItem();
}
}
我需要EF构造函数中的代码才能正常工作,但每次创建GoodsItem时,它都会创建一个新的GoodItems来创建一个新的GoodsItem,依此类推......
如何使用AutoMapper解决此问题并仍然保持EF 4.1的快乐。
先谢谢...
答案 0 :(得分:0)
无法看到该构造函数如何工作。也许你可以改变你的类来初始化属性get中的内部项,如下所示:
public class GoodsItem{
private GoodsItem _innerGoodsItem;
public GoodsItem InnerGoodsItem
{
get
{
if (_innerGoodsItem == null) _innerGoodsItem = new GoodsItem();
return _innerGoodsItem;
}
set { _innerGoodsItem = value; }
}
//-- A lot of other properties needed for this class
public GoodsItem()
{
//No longer need this call in ctor
//this.InnerGoodsItem = new GoodsItem();
}
}
不确定这是否会导致EF出现问题(幸好,到目前为止,我几乎避免了EF!)。