Beispiel #1
0
        public static T Find(long id)
        {
            if (id == null)
            {
                return(null);
            }

            ActiveRecordMap activeRecordMap = ActiveRecord <T> .GetMap();

            string query = @"SELECT " + SqlBuilderServices.BuildSqlColumnList(activeRecordMap.ColumnList(true), activeRecordMap.TableName, SqlBuilderServices.ColumnListType.List)
                           + " FROM " + activeRecordMap.TableName
                           + " WHERE " + activeRecordMap.PrimaryKeyColumnName + " = @" + activeRecordMap.PrimaryKeyColumnName;


            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter(activeRecordMap.PrimaryKeyColumnName
                                 , SqlBuilderServices.GetDBTypeFromSystemType(activeRecordMap.PrimaryKeyColumnMap.Property.PropertyType)
                                 , id)
            };

            IDataReader dataReader = _activeRecordSession.DatabaseServices.ExecuteDataReader(query, parameters);

            return(ObjectRetrievalServices.RetrieveObject <T>(dataReader, activeRecordMap));
        }
Beispiel #2
0
        public static List <T> FindManyWithSql(String sqlQuery)
        {
            ActiveRecordMap activeRecordMap = ActiveRecord <T> .GetMap();

            IDataReader dataReader = _activeRecordSession.DatabaseServices.ExecuteDataReader(sqlQuery);

            return(ObjectRetrievalServices.RetrieveObjects <T>(dataReader, activeRecordMap));
        }
Beispiel #3
0
        public static List <T> FindAll()
        {
            ActiveRecordMap activeRecordMap = ActiveRecord <T> .GetMap();

            string query = @"SELECT " + SqlBuilderServices.BuildSqlColumnList(activeRecordMap.ColumnList(true), activeRecordMap.TableName, SqlBuilderServices.ColumnListType.List)
                           + " FROM " + activeRecordMap.TableName;

            IDataReader dataReader = _activeRecordSession.DatabaseServices.ExecuteDataReader(query);

            return(ObjectRetrievalServices.RetrieveObjects <T>(dataReader, activeRecordMap));
        }
Beispiel #4
0
        public static T FindFirstWhere(String where, SqlParameter[] parameters)
        {
            ActiveRecordMap activeRecordMap = ActiveRecord <T> .GetMap();

            string query = @"SELECT " + SqlBuilderServices.BuildSqlColumnList(activeRecordMap.ColumnList(true), activeRecordMap.TableName, SqlBuilderServices.ColumnListType.List)
                           + " FROM " + activeRecordMap.TableName
                           + " WHERE " + where;

            IDataReader dataReader = _activeRecordSession.DatabaseServices.ExecuteDataReader(query, parameters);

            return(ObjectRetrievalServices.RetrieveObject <T>(dataReader, activeRecordMap));
        }
Beispiel #5
0
        public void Refresh()
        {
            ActiveRecordMap activeRecordMap = ActiveRecord <T> .GetMap();

            string query = @"SELECT " + SqlBuilderServices.BuildSqlColumnList(activeRecordMap.ColumnList(true), activeRecordMap.TableName, SqlBuilderServices.ColumnListType.List)
                           + " FROM " + activeRecordMap.TableName
                           + " WHERE " + activeRecordMap.PrimaryKeyColumnName + " = @" + activeRecordMap.PrimaryKeyColumnName;


            SqlParameter[] parameters = new SqlParameter[]
            {
                new SqlParameter(activeRecordMap.PrimaryKeyColumnName
                                 , SqlBuilderServices.GetDBTypeFromSystemType(activeRecordMap.PrimaryKeyColumnMap.Property.PropertyType)
                                 , this.Id)
            };

            IDataReader dataReader = _activeRecordSession.DatabaseServices.ExecuteDataReader(query, parameters);

            ObjectRetrievalServices.RetrieveObject <T>(dataReader, activeRecordMap, true);
        }