当前位置:编程学习 > C#/ASP.NET >>

Entity FramWork同一个页面的多个查询能否只链接一次数据库

问题是这样的,在项目中,每个页面的页面模型不会只有一张表中的数据,例如CSDN的首页就会有博客数据、用户数据、新闻数据等等等等。这些数据对应着数据库中不同的表。
而目前在项目中都是需要哪些数据了,然后告诉逻辑处理层我要哪些数据,然后逻辑层通过各种方式返回视图层(MVC)所要的数据。
这样就有问题出现了,一个页面,我可能就需要请求数据库很多次,才能把整个页面中的数据显示完成。


问:有没有这样一种方式能使所有的数据库查询都放在一个事务里面,这样一个http请求只对应一次数据库的链接(而不管页面模型有多复杂,是多少个表中的数据)。就像要增、删、改的操作先一次性告诉dbcontent之后再saveChange一样避免每次都链接数据库。
不知道我把问题表述清楚了没有. Entity FramWork ASP.NET  ASP.NET MVC DbContent --------------------编程问答-------------------- dbcontent 也可以当作方法的参数,互相传递的  只是你在传之前别Dispose掉它 --------------------编程问答-------------------- 把查询数据写成存储过程,传递参数,直接访问存储,返回DataSet,可以得到多个Table.

不用存储也可以,那就访问数据时返回多个list,把多个list合成一个类 --------------------编程问答-------------------- 可以用局部视图,然后对它们做缓存。 --------------------编程问答-------------------- 你保证每次请求DbContext只会被实例化一次,即使EF自身会多次连接数据库,那也是合理的。

要只打开一次连接,你必须人工管理数据库连接,让DbContext使用已经打开的连接。
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,