public static void Load(IObjectMapInfoCache cache) { cache.ThrowIfNullArgument(nameof(cache)); DirectoryInfo dir = new DirectoryInfo(Runtime.StartupDirectory); var files = dir.EnumerateFiles("*", SearchOption.TopDirectoryOnly); foreach (var file in files) { if (file.Extension == ClrClassPath.DLL || file.Extension == ClrClassPath.EXE) { try { AttributeMapLoader loader = new AttributeMapLoader(cache, Runtime.GetPath(file.Name)); loader.Load(); } catch (BadImageFormatException) { } } } string[] paths = ORMConfig.ORMConfiguration.GetObjectMapPaths(); foreach (string path in paths) { XmlMapLoader loader = new XmlMapLoader(cache, path); loader.Load(); } }
protected AbstractFilterExpressionVisitor(ISQLTranslator tr, IObjectMapInfoCache cache) { tr.ThrowIfNullArgument(nameof(tr)); cache.ThrowIfNullArgument(nameof(cache)); _tr = tr; _cache = cache; }
public IModelSQLEmit CreateModelSQLEmit(IObjectMapInfoCache cache) { ITypeMap tm = new TypeMap(); ISQLTranslator tr = new SQLTranslator(); IModelColumnsBuilder cb = new ModelColumnsBuilder(tr, tm); return new ModelSQLEmit(cache, tr, tm, cb); }
private static IDatabase _OpenDatabase(string databaseId) { try { var info = ORMConfig.ORMConfiguration.GetDatabaseInfo(databaseId); IDbConnection cnn = CoreFactory.CreateDbProvider(databaseId).CreateConnection(info.ConnectString); ISQLExecutor exe = new SQLExecutor(databaseId, cnn); IObjectMapInfoCache cache = CoreFactory.ObjectMapInfoCache; var dialect = CoreFactory.CreateDialectProvider(databaseId); IModelSQLEmit emit = dialect.CreateModelSQLEmit(cache); IMetaQuery meta = dialect.CreateMetaQuery(exe); if (cnn.State != ConnectionState.Open) { cnn.Open(); } return(new Database(exe, emit, meta)); } catch (Exception ex) { throw ex.CreateWrapException <SessionException>(); } }
public AttributeMapLoader(IObjectMapInfoCache cache, string file) { cache.ThrowIfNullArgument(nameof(cache)); file.ThrowIfNullArgument(nameof(file)); _cache = cache; _file = file; }
public IModelSQLEmit CreateModelSQLEmit(IObjectMapInfoCache cache) { ITypeMap tm = new TypeMap(); ISQLTranslator tr = new SQLTranslator(); IModelColumnsBuilder cb = new ModelColumnsBuilder(tr, tm); return(new ModelSQLEmit(cache, tr, tm, cb)); }
public IMappingSQLEmit CreateMappingSQLEmit(IObjectMapInfoCache cache) { ISQLTranslator tr = new SQLTranslator(); IMappingColumnsBuilder cb = new MappingColumnsBuilder(tr); IMappingConditionExpressionVisitor cv = new MappingConditionExpressionVisitor(tr); IMappingOrderExpressionVisitor ov = new MappingOrderExpressionVisitor(tr); return new MappingSQLEmit(cache, cb, tr, cv, ov); }
public void SetUp() { if (!AppConfig.Loaded) AppConfig.Load(ConfigFactory.CreateXmlConfig()); _cache = new ObjectMapInfoCache(); MappingInfoLoader.Load(_cache); }
public IMappingSQLEmit CreateMappingSQLEmit(IObjectMapInfoCache cache) { ISQLTranslator tr = new SQLTranslator(); IMappingColumnsBuilder cb = new MappingColumnsBuilder(tr); IMappingConditionExpressionVisitor cv = new MappingConditionExpressionVisitor(tr); IMappingOrderExpressionVisitor ov = new MappingOrderExpressionVisitor(tr); return(new MappingSQLEmit(cache, cb, tr, cv, ov)); }
protected AbstractQueryColumnBuilder(ISQLTranslator tr, IObjectMapInfoCache cache) { cache.ThrowIfNullArgument(nameof(cache)); tr.ThrowIfNullArgument(nameof(tr)); _tr = tr; _cache = cache; _str = new StringBuilder(); }
protected AbstractQueryViewVisitor(ISQLTranslator tr, IJoinExpressionVisitor jv, IObjectMapInfoCache cache) { tr.ThrowIfNullArgument(nameof(tr)); jv.ThrowIfNullArgument(nameof(jv)); cache.ThrowIfNullArgument(nameof(cache)); _cache = cache; _tr = tr; _jv = jv; }
public void SetUp() { if (!AppConfig.Loaded) { AppConfig.Load(ConfigFactory.CreateXmlConfig()); } _cache = new ObjectMapInfoCache(); MappingInfoLoader.Load(_cache); }
public XmlMapLoader(IObjectMapInfoCache cache, string file) { cache.ThrowIfNullArgument(nameof(cache)); file.ThrowIfNullArgument(nameof(file)); _cache = cache; _file = file; _clrDict = new Dictionary <string, ClrClassPath>(); _dbDict = new Dictionary <string, DbPath>(); }
public XmlMapLoader(IObjectMapInfoCache cache, string file) { cache.ThrowIfNullArgument(nameof(cache)); file.ThrowIfNullArgument(nameof(file)); _cache = cache; _file = file; _clrDict = new Dictionary<string, ClrClassPath>(); _dbDict = new Dictionary<string, DbPath>(); }
protected AbstractModelSQLEmit(IObjectMapInfoCache cache, ISQLTranslator tr, ITypeMap tm, IModelColumnsBuilder cb) { tr.ThrowIfNullArgument(nameof(tr)); tm.ThrowIfNullArgument(nameof(tm)); cb.ThrowIfNullArgument(nameof(cb)); cache.ThrowIfNullArgument(nameof(cache)); this._tr = tr; this._tm = tm; this._cb = cb; this._cache = cache; }
public IQuerySQLEmit CreateQuerySQLEmit(IObjectMapInfoCache cache) { ISQLTranslator tr = new SQLTranslator(); IJoinExpressionVisitor jev = new JoinExpressionVisitor(tr, cache); IFilterExpressionVisitor fev = new FilterExpressionVisitor(tr, cache); IQueryViewVisitor vv = new QueryViewVisitor(tr, jev, cache); IQueryColumnBuilder cb = new QueryColumnBuilder(tr, cache); IQueryCriteriaVisitor cv = new QueryCriteriaVisitor(tr, fev); IOrderExpressionVisitor oev = new OrderExpressionVisitor(tr, cache); IQueryOrderVisitor ov = new QueryOrderVisitor(tr, oev); return new QuerySQLEmit(cache, tr, vv, cb, cv, ov); }
public IQuerySQLEmit CreateQuerySQLEmit(IObjectMapInfoCache cache) { ISQLTranslator tr = new SQLTranslator(); IJoinExpressionVisitor jev = new JoinExpressionVisitor(tr, cache); IFilterExpressionVisitor fev = new FilterExpressionVisitor(tr, cache); IQueryViewVisitor vv = new QueryViewVisitor(tr, jev, cache); IQueryColumnBuilder cb = new QueryColumnBuilder(tr, cache); IQueryCriteriaVisitor cv = new QueryCriteriaVisitor(tr, fev); IOrderExpressionVisitor oev = new OrderExpressionVisitor(tr, cache); IQueryOrderVisitor ov = new QueryOrderVisitor(tr, oev); return(new QuerySQLEmit(cache, tr, vv, cb, cv, ov)); }
protected AbstractMappingSQLEmit(IObjectMapInfoCache cache, IMappingColumnsBuilder cb, ISQLTranslator tr, IMappingConditionExpressionVisitor cv, IMappingOrderExpressionVisitor ov) { cache.ThrowIfNullArgument(nameof(cache)); cb.ThrowIfNullArgument(nameof(cb)); tr.ThrowIfNullArgument(nameof(tr)); cv.ThrowIfNullArgument(nameof(cv)); ov.ThrowIfNullArgument(nameof(ov)); _cache = cache; _cb = cb; _tr = tr; _cv = cv; _ov = ov; }
public static string ChooseNameFromView(this ParameterExpression p, IEnumerable<SingleEntityView> svList, IObjectMapInfoCache cache) { var matchType = from v in svList where v.EntityType == p.Type select v; switch (matchType.Count()) { case 0: ParseExceptionHelper.ThrowTypeNotDefinedInView(p); break; case 1: SingleEntityView view = matchType.First(); if ((!string.IsNullOrEmpty(view.Alias)) && view.Alias != p.Name) ParseExceptionHelper.ThrowParameterNameNotMatchViewAlias(p.Name, view.Alias, view.EntityType); if (!string.IsNullOrEmpty(view.Alias)) return view.Alias; else { var map = cache.GetMapInfo(p.Type, true); return map.Table.LocalName; } default: var q = from v in matchType where v.Alias == p.Name select v; switch (q.Count()) { case 0: ParseExceptionHelper.ThrowNoAliasForParameterName(p); break; case 1: return q.First().Alias; default: ParseExceptionHelper.ThrowMultiTypeHaveSameAlias(p); break; } break; } return string.Empty; }
public AbstractQuerySQLEmit(IObjectMapInfoCache cache, ISQLTranslator tr, IQueryViewVisitor vv, IQueryColumnBuilder cb, IQueryCriteriaVisitor cv, IQueryOrderVisitor ov) { cache.ThrowIfNullArgument(nameof(cache)); tr.ThrowIfNullArgument(nameof(tr)); vv.ThrowIfNullArgument(nameof(vv)); cb.ThrowIfNullArgument(nameof(cb)); cv.ThrowIfNullArgument(nameof(cv)); ov.ThrowIfNullArgument(nameof(ov)); _cache = cache; _tr = tr; _vv = vv; _cb = cb; _cv = cv; _ov = ov; }
private static ISession _OpenSession(string databaseId) { try { var info = ORMConfig.ORMConfiguration.GetDatabaseInfo(databaseId); IDbConnection cnn = CoreFactory.CreateDbProvider(databaseId).CreateConnection(info.ConnectString); ISQLExecutor exe = new SQLExecutor(databaseId, cnn); IObjectMapInfoCache cache = CoreFactory.ObjectMapInfoCache; IEntityManager mgr = new EntityManager(exe, CoreFactory.CreateDialectProvider(databaseId).CreateMappingSQLEmit(cache)); IEntityQuery qry = new EntityQuery(exe, CoreFactory.CreateDialectProvider(databaseId).CreateQuerySQLEmit(cache)); INativeSQL native = new NativeSQL(exe); if (cnn.State != ConnectionState.Open) { cnn.Open(); } return(new SimpleSession(exe, mgr, qry, native)); } catch (Exception ex) { throw ex.CreateWrapException <SessionException>(); } }
public MappingSQLEmit(IObjectMapInfoCache cache, IMappingColumnsBuilder cb, ISQLTranslator tr, IMappingConditionExpressionVisitor cv, IMappingOrderExpressionVisitor ov) : base(cache, cb, tr, cv, ov) { }
public static string ChooseNameFromView(this ParameterExpression p, IEnumerable <SingleEntityView> svList, IObjectMapInfoCache cache) { var matchType = from v in svList where v.EntityType == p.Type select v; switch (matchType.Count()) { case 0: ParseExceptionHelper.ThrowTypeNotDefinedInView(p); break; case 1: SingleEntityView view = matchType.First(); if ((!string.IsNullOrEmpty(view.Alias)) && view.Alias != p.Name) { ParseExceptionHelper.ThrowParameterNameNotMatchViewAlias(p.Name, view.Alias, view.EntityType); } if (!string.IsNullOrEmpty(view.Alias)) { return(view.Alias); } else { var map = cache.GetMapInfo(p.Type, true); return(map.Table.LocalName); } default: var q = from v in matchType where v.Alias == p.Name select v; switch (q.Count()) { case 0: ParseExceptionHelper.ThrowNoAliasForParameterName(p); break; case 1: return(q.First().Alias); default: ParseExceptionHelper.ThrowMultiTypeHaveSameAlias(p); break; } break; } return(string.Empty); }
public ModelSQLEmit(IObjectMapInfoCache cache, ISQLTranslator tr, ITypeMap tm, IModelColumnsBuilder cb) : base(cache, tr, tm, cb) { }
public QuerySQLEmit(IObjectMapInfoCache cache, ISQLTranslator tr, IQueryViewVisitor vv, IQueryColumnBuilder cb, IQueryCriteriaVisitor cv, IQueryOrderVisitor ov) : base(cache, tr, vv, cb, cv, ov) { }
public QueryColumnBuilder(ISQLTranslator tr, IObjectMapInfoCache cache) : base(tr, cache) { }
public FilterExpressionVisitor(ISQLTranslator tr, IObjectMapInfoCache cache) : base(tr, cache) { }
public QueryViewVisitor(ISQLTranslator tr, IJoinExpressionVisitor jv, IObjectMapInfoCache cache) : base(tr, jv, cache) { }
public OrderExpressionVisitor(ISQLTranslator tr, IObjectMapInfoCache cache) : base(tr, cache) { }