gpt4 book ai didi

c# - 什么时候需要处理数据库连接

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:23 25 4
gpt4 key购买 nike

我有一个类,其中包含为在我的 MVC 应用程序中使用而定制的几个常用方法,我在多个地方使用了这些方法。下面是一些示例:

    private MyEntities db = new MyEntities();


public List<SelectListItem> GetLocationList()
{
var query =
db.v_LocationsAlphabetical.OrderByDescending(x => x.Category).ThenBy(x => x.LocationName).ToList()
.Select(x => new SelectListItem
{
Value = x.LocationID.ToString(),
Text = x.LocationName
});

return (query).ToList();
}

public IEnumerable<SelectListItem> GetStates()
{
var query = db.States.Select(x => new SelectListItem
{
Value = x.Abbr,
Text = x.Name
});

return(query);
}

public List<Person> GetPeople()
{
var query = db.Person.OrderBy(m => m.LastName).ThenBy(m => m.FirstName).ToList();

return (query);

}

这些方法中的每一个都会调用数据库以获取数据,我想知道是否需要为每个方法添加一个处置。如果不是,为什么?谢谢。

最佳答案

您不应该在每个方法中调用 dispose,因为 db 的生命周期与封闭类的生命周期相同,因为它不是方法中的局部变量。

处理这个问题的典型方法是使当前类成为IDisposable 并在Dispose() 方法中调用db.Dispose() .

关于c# - 什么时候需要处理数据库连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16905362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com