我有一些关于使用
我正在处理的项目中不包含任何存储库,而这对于 Entity Framework 是不需要的。
所以基本上,在我的方法中,我将获得一组 Guids 作为参数。这些 id 是餐厅的 id,并且我想检索在这些餐厅上给出的所有评论。
所以目前,我是这样检索列表的:
这是在using语句之外声明列表的常见不良做法吗?我想到了一些替代方案,但我仍然不确定哪个更好。
using
语句的问题。我了解它的作用(如果我理解正确,它会销毁所有打开的连接等),但我不确定应该如何正确使用它。我正在处理的项目中不包含任何存储库,而这对于 Entity Framework 是不需要的。
所以基本上,在我的方法中,我将获得一组 Guids 作为参数。这些 id 是餐厅的 id,并且我想检索在这些餐厅上给出的所有评论。
所以目前,我是这样检索列表的:
public void DoSomething(List<Guid> restaurantIds)
{
List<Review> reviews;
using (var db = new Context())
{
reviews = db.Reviews.Where(x => restaurantIds.Contains(x.RestaurantId)).ToList();
}
//More stuff here
}
这是在using语句之外声明列表的常见不良做法吗?我想到了一些替代方案,但我仍然不确定哪个更好。
- 在同一类中创建一个单独的方法,执行此操作并返回该列表。这样,在我的
DoSomething
方法中,我可以像这样使用它:List<Review> reviews = GetReviewsFromRestaurants(restaurantIds);
- 我必须先创建上下文,然后在不使用using块的情况下使用LINQ语句。完成后,我必须调用
.Dispose()
。
using
语句有问题吗?如果有,那么替代方案是否更好?如果没有问题,您能否给我一个检索此列表的示例?
.ToList()
,这应该不会成为问题,对吧?我知道延迟加载,所以每次从数据库检索数据时都会确保调用.ToList()
。 - user4189129