请教一个小问题,Entity Framework创建****Entities时需要using吗?
这是一个查询方法:
/// <summary>
/// 查询所有表
/// </summary>
/// <returns>表信息的集合</returns>
public static List<Get_AllTbs> GetTbs()
{
using (xxxxEntities xe = new xxxxEntities()) {
var a=from item in xe.Get_AllTbs select item;
List<Get_AllTbs> ls = a.ToList();
return ls;
}
}
但是有个问题,有的时候我并不需要把a ToList,也许有的时候直接返回IEnumerable<Get_AllTbs>就可以了,但如果我返回IEnumerable<Get_AllTbs>,我在外面使用这个方法返回的IEnumerable<Get_AllTbs>时就会提示连接已关闭...应该是因为Using了的缘故,那这里我到底要不要使用Using呢?
------解决方案--------------------tolist了就和xe回收不回收没有关系,因为它等于又复制了一份。
------解决方案--------------------个人感觉没必要
------解决方案--------------------using}就释放掉了,如果确定不使用了,没问题,但是你又有后续的操作,所以个人觉得可以不用,是否可以用try来替换掉
------解决方案--------------------不要用,用了反而容易出错
EntityFrame自己维护这部分东西的
------解决方案--------------------
tolist就有意义。