在c#中从上下文调用实体上的函数

本文关键字:实体 函数 调用 上下文 | 更新日期: 2023-09-27 18:13:16

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

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

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传递给函数,但后来变得麻烦,因为有时我想使用函数而不使用DB。我试着让DB可选,如果它不存在,它会创建,但仍然不能很好地工作。

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

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

请让我知道如果你需要更多的细节,谢谢!

在c#中从上下文调用实体上的函数

我对此进行了更多的操作,并意识到我必须存储来自前一个context实例的元素。我已经确保我没有使用任何来自已被处理的上下文的元素,并且一切似乎都在工作。

谢谢你的帮助