不带EF的域类中的导航属性
本文关键字:导航 属性 EF 不带 | 更新日期: 2023-09-27 18:00:24
我的ElementGroup
类具有类型为List<Element>
的Elements
属性。为了能够导航回其父级ElementGroup
,我的Element
类有一个类型为ElementGroup
的ElementGroup
属性。通常我会使用实体框架中的导航属性来设置它,但我想在添加数据层之前在域层中临时设置它。这是怎么做到的?
这种方法似乎有效,但它需要ElementGroup
对象的局部变量:
ElementGroup eg = new ElementGroup("Dummy Name", 100);
competition.ElementGroups.Add(eg);
eg.Elements.Add(new Element(new DateTime(2014, 9, 14, 12, 0, 0)) { ElementGroup = eg });
eg.Elements.Add(new Element(new DateTime(2014, 9, 14, 13, 0, 0)) { ElementGroup = eg });
我想知道是否有一种方法可以做到这一点,而不需要通过这样做来创建局部变量:
competition.ElementGroups.Add(new ElementGroup("Dummy Name", 100)
{
Elements = new List<Element> {
new Element(new DateTime(2014, 9, 14, 12, 0, 0)) { },
new Element(new DateTime(2014, 9, 14, 13, 0, 0)) { }
}
});
我不知道如何使用对象初始化器大括号或其他技术将当前的ElementGroup
分配给新的Element
的ElementGroup
属性。
在ElementGroup
:中创建一个AddElement
方法
public Element AddElement(DateTime datetime)
{
var element = new Element(datetime) { ElementGroup = this };
this.Elements.Add(element);
return element;
}