예제 #1
0
 public SqlExpression(ISqlDialectProvider dialectProvider)
 {
     _dialectProvider = dialectProvider;
     _sqlContext      = new SqlClauseContext();
     modelDef         = typeof(T).GetModelDefinition();
     _sqlContext.From = " FROM " + modelDef.Name;
 }
예제 #2
0
 /// <summary>
 /// 获得类型的列名
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 private static string GetColmons(ISqlDialectProvider sqlProvider, IClassMapper mapper)
 {
     if (mapper == null)
     {
         return(string.Empty);
     }
     return(string.Join(", ", mapper.Properties.Select(p => FormatNameWithChar(sqlProvider, p.ColumnName)).ToList()));
 }
예제 #3
0
        public static ISqlDialectProvider GetSqlProvider(string name)
        {
            var connection = ConfigurationManager.ConnectionStrings[name];
            ISqlDialectProvider provider = null;

            ProviderDictionary.TryGetValue(connection.ProviderName, out provider);
            return(provider);
        }
예제 #4
0
 /// <summary>
 /// 获得值
 /// </summary>
 /// <param name="obj"></param>
 /// <returns></returns>
 private static string GetValues(object obj, ISqlDialectProvider sqlProvider, IClassMapper mapper)
 {
     if (obj == null)
     {
         return(string.Empty);
     }
     return(string.Join(", ", mapper.Properties.Select(p => string.Format("{0}", sqlProvider.FormatValue(p.PropertyInfo.GetValue(obj), true, p.PropertyInfo.PropertyType))).ToArray()));
 }
예제 #5
0
 public Database(string name)
 {
     Connection      = DatabaseConfiguration.GetConnection(name);
     DialectProvider = DatabaseConfiguration.GetSqlProvider(name);
     if (Connection.State != ConnectionState.Open)
     {
         Connection.Open();
     }
 }
예제 #6
0
 public MySqlExpression(ISqlDialectProvider dialectProvider) :
     base(dialectProvider)
 {
 }
예제 #7
0
 public SqlServerExpression(ISqlDialectProvider dialectProvider) :
     base(dialectProvider)
 {
 }
예제 #8
0
 private static string FormatNameWithChar(ISqlDialectProvider sqlProvider, string value)
 {
     return(sqlProvider.OpenQuote + value + sqlProvider.CloseQuote);
 }
예제 #9
0
 public SqlEntityAdapter(Database database, ISqlDialectProvider dialectProvider)
 {
     Database        = database;
     DialectProvider = dialectProvider;
 }
예제 #10
0
 public SqlLanguageProviderHelper(IObjectAccesor objectAccesor, ISqlDialectProvider dialectProvider)
 {
     _objectAccesor = objectAccesor;
     _dialectProvider = dialectProvider;
 }