zoukankan      html  css  js  c++  java
  • 关于IDbConnectionFactory

    需要EF4.0的DbContext

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.Entity;
    using System.Data.Entity.Infrastructure;
    using System.Configuration;
    using System.Data.SqlClient;
    namespace F.Studio.Util.DB
    {
        public  class MyDbContext :DbContext
        {
            static MyDbContext()
            {
                Database.SetInitializer<MyDbContext>(null);
                Database.DefaultConnectionFactory = new MyConnFactory();
            }
            /// <summary>
            /// 配置文件中的连接字符串名称
            /// </summary>
            /// <param name="name"></param>
            public MyDbContext(string nameOrConnStr)
                : base(nameOrConnStr)
            {
                
            }
            public MyDbContext()
                : base()
            {
    
            }
            
    
        }
        internal class MyConnFactory : IDbConnectionFactory
        {
    
            #region IDbConnectionFactory 成员
    
            public System.Data.Common.DbConnection CreateConnection(string nameOrConnectionString)
            {
                Console.WriteLine("连接工厂:" + nameOrConnectionString);
                return new SqlConnection("Data Source=192.168.1.7;Initial Catalog=JL_MFG;Persist Security Info=True;User ID=sa;Password=admin;Pooling=False");
                //传入的是连接字符串
                if (nameOrConnectionString.IndexOf("=") >= 0)
                {
                    return new SqlConnection(nameOrConnectionString);
                }
                //到config文件的connections中找对应链接
                var connStr = ConfigurationManager.ConnectionStrings[nameOrConnectionString].ConnectionString;
                return new SqlConnection(connStr);
            }
    
            #endregion
        }
    }
    View Code

    在设置了Database.DefaultConnectionFactory属性后,只有当配置文件中找不到指定的连接字符串时,才会使用ConnectionFactory来生成连接
    搞半天发现不用这样方法

  • 相关阅读:
    三大程序结构
    数组
    php多种排序
    购物车多选提交订单
    AJAX无刷新加购物车
    php常用
    通过判断加载遍历首页内容
    登陆权限验证
    PHP打印数据和mb_substr函数
    apollo3.5搭建教程(调试成功)
  • 原文地址:https://www.cnblogs.com/wdfrog/p/3112600.html
Copyright © 2011-2022 走看看