1
是否有可能使用的DbContext时像EF 5连接管理
public void UpdateCategory(Models.Category catData)
{
if (catData == null) return;
using (var cntx = new DataContext())
{
//IN THE LINE BELOW A CONNECTION IS DEFINITELY OPENED BUT IS IT IMMEDIATELY CLOSE????
var cat = cntx.Set<Category>().FirstOrDefault(c => c.CategoryId == catData.CategoryId);
if (cat == null) return;
if (!cat.LastChanged.Matches(catData.LastChanged))
throw new ConcurrencyException(cat.GetType().ToString());
cat.CategoryName = catData.CategoryName;
cntx.DbContext.Entry<Category>(cat).State = System.Data.EntityState.Modified;
//AFTER THE NEXT LINE DO I HAVE 2 CONNECTIONS OPENED? OR WAS THE CONNECTION OPENED FROM THE FIRST QUERY CLOSED ALREADY?
cntx.SaveChanges();
catData.LastChanged = cat.LastChanged;
}
}
是否有EF5不会立即关闭连接scenerios \其中相同的情况下创建\错误打开2个连接,留下一个开放?
你怎么知道你有2个连接打开?活动监视器?我不会太担心EFs连接管理,我敢肯定它是稳定的...... – Charleh
如果底层连接是SQL,那么默认情况下会发生很多事情,而这些都不知道:连接池等。正如Charleh所说,我不会太担心 - 标准生成的上下文在处理连接方面做得很好。 – wilso132