0

我在 .net 进程内存不足的应用程序中遇到了一些问题。我在应用程序中所做的一项更改是向 Sql 类添加了很多 Linq。我想知道我如何创建 DataContext 是否存在问题。

我可以在需要时通过创建数据上下文来创建我的数据上下文。显然,如果我要更改数据,我会创建一个变量并保存数据上下文,因为我需要在多个语句中使用相同的数据上下文。

技术1

public class SchoolRepository
{

    DataBaseDataContext GetCtx()
    {
        return new DataBaseDataContext();
    }

    public List<School> GetSchools()
    {
        return GetCtx().Schools.ToList();
    }
}

这是我可以创建 DataContext 的另一种方法。在这种情况下,我有一个类字段,其中包含对 DataContext 的引用。

技术2:

    public class SchoolRepository
    {
        private DataBaseDataContext _ctx = null;
        DataBaseDataContext ctx
        {
            get { return _ctx = (_ctx ?? new DataBaseDataContext()); }
        }

        public List<School> GetSchools()
        {
            return ctx.Schools.ToList();
        }

    }

我一直在使用第二种方式(使用类变量),我想知道这是否会导致上下文比第一种方式停留更长的时间——因为只要我的类的一个实例它就会持续存在卡在周围。

也许我在这里抓住了稻草——但我想知道一种方式是否比另一种方式“更安全”。

4

0 回答 0