我从模型优先开始并生成了一个数据库,并为我的实体创建了部分类,以便我可以对它们执行操作。
我在上下文中的代码变得相当长,是多余的,我希望能够进行调用,例如:
using (var db = new Context()) {
...
db.MyEntity.ComputeDistance();
...
}
***ADDED***
public void ComputeDistance() {
int distance = 0;
MyEntity curr = this;
while (curr.Parent != null) {
distance++;
curr = curr.parent;
}
this.Distance = distance;
}
我可以做到这一点,除了每当我尝试导航关系属性时,我都会遇到延迟加载没有填充这些变量的问题,以及一些其他类型的异常。我尝试将数据库传递给函数,但后来变得很麻烦,因为有时我想在不使用数据库的情况下使用函数。我尝试让 DB 可选,如果它不存在,它会创建,但这仍然不能很好地工作。
似乎我只是做错了,而且我还没有找到任何好的例子来说明如何做到这一点。
你们如何处理这些情况,或者,如何避免它们?
如果您需要更多详细信息,请告诉我,谢谢!