コード例 #1
0
ファイル: DbFactory.cs プロジェクト: rebider/soa
        /// <summary>从提供者和连接字符串猜测数据库处理器</summary>
        /// <param name="connStr"></param>
        /// <param name="provider"></param>
        /// <returns></returns>
        internal static Type GetProviderType(String connStr, String provider)
        {
            if (!String.IsNullOrEmpty(provider))
            {
                //Type type = XCodeService.ResolveType<IDatabase>(m => "" + m.Identity != "" && GetDefault((DatabaseType)m.Identity).Support(provider));
                //if (type != null) return type;
                foreach (var item in XCodeService.Container.ResolveAllMaps(typeof(IDatabase)))
                {
                    if ("" + item.Identity == "")
                    {
                        continue;
                    }

                    var db = item.Instance as IDatabase;
                    if (db != null && db.Support(provider))
                    {
                        return(item.ImplementType);
                    }
                }

                var type = TypeX.GetType(provider, true);
                if (type != null)
                {
                    XCodeService.Register <IDatabase>(type, provider);
                }
                return(type);
            }
            else
            {
                // 这里的默认值来自于上面Reg里面的最后那个
                return(XCodeService.ResolveType <IDatabase>(String.Empty));
            }
        }
コード例 #2
0
 /// <summary>建立数据表对象</summary>
 /// <returns></returns>
 internal static IDataTable CreateTable()
 {
     return(XCodeService.CreateTable());
 }
コード例 #3
0
 /// <summary>创建指定类型的实体访问器</summary>
 /// <param name="kind"></param>
 /// <returns></returns>
 public static IEntityAccessor Create(EntityAccessorTypes kind)
 {
     //return Create(kind);
     return(XCodeService.Resolve <IEntityAccessor>(kind));
 }
コード例 #4
0
 /// <summary>创建指定类型的实体访问器</summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public static IEntityAccessor Create(String name)
 {
     return(XCodeService.Resolve <IEntityAccessor>(Enum.Parse(typeof(EntityAccessorTypes), name)));
 }
コード例 #5
0
ファイル: DAL_Setting.cs プロジェクト: yuyu2you/X_NET40
 /// <summary>建立数据表对象</summary>
 /// <returns></returns>
 internal static IDataTable CreateTable() => XCodeService.CreateTable();