代码之家  ›  专栏  ›  技术社区  ›  balexandre

了解存储库对象,是否都启动到数据库的新连接?

  •  0
  • balexandre  · 技术社区  · 14 年前

    我有我的 ,那有我的 那有我的 存储库

    然后,在网站上为每个 我从

    MyRepository db = new MyRepository();
    

    new MyRepository() 零件开始新的 ?

    这样安全吗?

    public class MyController : Controller
    {
        public MyRepository db { get; set; }
    
        protected override void Initialize(RequestContext requestContext)
        {
            if (db == null) { db = new MyRepository(); }
    
            base.Initialize(requestContext);
        }
        ...
    

    如何进一步了解实体模型如何连接到数据库 防止 “不好”的事情会发生

    我有几个东西 喜欢缓存它 ,因为它们非常复杂,从不改变(除非管理区域的人改变它), ?

    谢谢您。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Darin Dimitrov    14 年前

    ADO.NET使用 connection pool 这样可以避免每次都创建到数据库的连接。每个应用程序域和每个连接字符串创建一个连接池,并重用来自该池的连接。因此,当您实例化存储库时,不会创建到数据库的连接。对于缓存对象,可以查看 standard techniques

    就你的例子而言,如果 MyRepository Dispose 方法,可以在 控制器的方法。