日期:2014-05-17  浏览次数:20749 次

EF 数据库链接
原来使用delphi做桌面程序,数据库链接使用ADO
首先要把connectiong.open = true


现在使用了一段时间entity framework
都是直接使用

using (var db = new WEBVODEntities())



疑问:

原来所有的数据库操作,都可以通过 一个 connection,然后connection一直open着,是否标志connection一直链接着数据库?

使用EF,每次using (var db = new WEBVODEntities())的时候再链接,还是第一次用了,一直保持链接,程序退出,再断开链接?


如果数据库没有链接上,捕获异常后,怎么判断是数据库链接产生的异常,是有异常代码? 还是根据异常的中文来判断



            using (var db = new WEBVODEntities())
            {

                List<Film> list = db.Film.Where(a => a.Status == status).OrderBy(a => a.PubDate).ToList();  //按照时间的先后顺序排序

                return list;
            }

------解决方案--------------------
var db = new WEBVODEntities()
会自动贯标
------解决方案--------------------
引用:
var db = new WEBVODEntities()
会自动贯标

自动关闭数据库连接
------解决方案--------------------
(1)当然不会一直连着,要不然干吗要savechanges这样的逻辑?
(2)不同的异常,你用try catch可以得到不同的异常对象。
------解决方案--------------------
你可以用ex.InnerException获得下一层的异常。