public IList<OrmKeyColumn> LoadKeyColumns(string tableName)
        {
            Guard.ArgumentNotNullOrEmptyString(tableName, "tableName");

            using (ISession session = new SessionScopeWrapper())
            {
                return session.CreateCriteria(typeof (OrmKeyColumn))
                    .Add(Expression.Eq("TableName", tableName))
                    .List<OrmKeyColumn>();
            }
        }
        private static OrmTable LoadTableByName(string tableName)
        {
            Guard.ArgumentNotNullOrEmptyString(tableName, "tableName");

            using (ISession session = new SessionScopeWrapper())
            {
                IList<OrmTable> list = session.CreateCriteria(typeof (OrmTable))
                    .Add(Expression.Eq("TableName", tableName))
                    .List<OrmTable>();
                return (list.Count > 0 ? list[0] : null);
            }
        }
        private static OrmLookup LoadLookupByID(string lookupId)
        {
            Guard.ArgumentNotNullOrEmptyString(lookupId, "lookupId");

            using (ISession session = new SessionScopeWrapper())
            {
                IList<OrmLookup> list = session.CreateCriteria(typeof (OrmLookup))
                    .Add(Expression.Eq("LookupId", lookupId))
                    .List<OrmLookup>();
                return (list.Count > 0 ? list[0] : null);
            }
        }
        private static IList<OrmLookup> LoadLookups(string tableName)
        {
            Guard.ArgumentNotNullOrEmptyString(tableName, "tableName");

            using (ISession session = new SessionScopeWrapper())
            {
                return session.CreateCriteria(typeof (OrmLookup))
                    .Add(Expression.Eq("MainTable", tableName))
                    .List<OrmLookup>();
            }
        }
        private static OrmColumn LoadColumn(string tableName, string fieldName)
        {
            Guard.ArgumentNotNullOrEmptyString(tableName, "tableName");
            Guard.ArgumentNotNullOrEmptyString(fieldName, "fieldName");

            using (ISession session = new SessionScopeWrapper())
            {
                IList<OrmColumn> list = session.CreateCriteria(typeof (OrmColumn))
                    .Add(Expression.Eq("TableName", tableName))
                    .Add(Expression.Eq("FieldName", fieldName))
                    .List<OrmColumn>();
                return (list.Count > 0 ? list[0] : null);
            }
        }
        private static OrmCalculatedField LoadCalculatedField(string tableName, string fieldName)
        {
            Guard.ArgumentNotNullOrEmptyString(tableName, "tableName");
            Guard.ArgumentNotNullOrEmptyString(fieldName, "fieldName");

            using (ISession session = new SessionScopeWrapper())
            {
                IList<OrmCalculatedField> list = session.CreateCriteria(typeof (OrmCalculatedField))
                    .Add(Expression.Eq("TableName", tableName))
                    .Add(Expression.Like("CalculationData", string.Format("|{0}|", fieldName), MatchMode.Start))
                    .List<OrmCalculatedField>();
                return (list.Count > 0 ? list[0] : null);
            }
        }
 public IList<OrmTable> LoadTables()
 {
     using (ISession session = new SessionScopeWrapper())
     {
         return session.CreateCriteria(typeof (OrmTable))
             .AddOrder(new Order("TableName", true))
             .List<OrmTable>();
     }
 }
 public IList<OrmProject> LoadProjects()
 {
     using (ISession session = new SessionScopeWrapper())
     {
         return session.CreateCriteria(typeof (OrmProject))
             .AddOrder(new Order("Name", true))
             .List<OrmProject>();
     }
 }
        public OrmProject LoadProject(string name)
        {
            Guard.ArgumentNotNullOrEmptyString(name, "name");

            using (ISession session = new SessionScopeWrapper())
            {
                IList<OrmProject> list = session.CreateCriteria(typeof (OrmProject))
                    .Add(Expression.Eq("Name", name))
                    .List<OrmProject>();
                return (list.Count > 0 ? list[0] : null);
            }
        }