0

我从模型优先开始并生成了一个数据库,并为我的实体创建了部分类,以便我可以对它们执行操作。

我在上下文中的代码变得相当长,是多余的,我希望能够进行调用,例如:

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 可选,如果它不存在,它会创建,但这仍然不能很好地工作。

似乎我只是做错了,而且我还没有找到任何好的例子来说明如何做到这一点。

你们如何处理这些情况,或者,如何避免它们?

如果您需要更多详细信息,请告诉我,谢谢!

4

1 回答 1

0

我已经对此进行了更多尝试,并意识到我一定是从先前的上下文实例中存储了一个元素。我已确保我不使用来自已处理的上下文中的任何元素,并且一切似乎都在工作。

谢谢您的帮助。

于 2013-06-12T15:22:47.423 回答