EF(entity framework) “using” statement and “try catch” withing each other
使用此代码时是否有任何区别:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public bool Insert(SomeEntity entity) { bool result = false; try { using (var db = new MyEntities()) { db.AddToSomeEntity(entity); db.SaveChanges(); result = true; } } catch (Exception e) { // } return result; } |
而这:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public bool Insert(SomeEntity entity) { bool result = false; using (var db = new MyEntities()) { try { db.AddToSomeEntity (entity); db.SaveChanges(); result = true; } catch (Exception e) { // } } return result; } |
它会影响性能吗?
/为了满足SO提交验证规则,添加了此字符串。/
我不认为它违反了任何规则。我建议您在什么时候将上下文发送到垃圾收集,因为第二个方法更具体,当您的函数完全执行时,您会将对象发送到垃圾收集,否则您可能会遇到一个异常,即您试图使用上下文尽管它不再可用