コード例 #1
0
ファイル: TableMapper.cs プロジェクト: stalinvr007/VoDB
        public Table GetTable(Type type)
        {
            var table = new Table();

            Parallel.Invoke(
                () => table.TableName = GetTableName(type),
                () => table.Fields = _FieldMapper.GetFields(type).Where(f => !f.IsCollection).ToList()
                );

            Parallel.Invoke(
                () => table.CollectionFields = _FieldMapper.GetFields(type).Where(f => f.IsCollection).ToList(),
                () => table.KeyFields = table.Fields.Where(f => f.IsKey).ToList(),
                () => table.FieldsByName = table.Fields.ToDictionary(f => f.FieldName.ToLower()),
                () =>
                table.FieldsByBind =
                table.Fields.Where(f => !String.IsNullOrEmpty(f.BindedTo)).ToDictionary(
                    f => f.FieldName + f.BindedTo.ToLower()),
                () => table.FieldsByPropertyName = table.Fields.ToDictionary(f => f.PropertyName.ToLower())
                );

            Parallel.ForEach(table.Fields, f => f.Table = table);

            table.CommandsHolder = _SqlCommands;
            table.CommandsHolder.Table = table;

            return table;
        }
コード例 #2
0
ファイル: SqlQueryBuilder.cs プロジェクト: stalinvr007/VoDB
        /// <summary>
        /// Initializes a new instance of the <see cref="SqlQueryBuilder" /> class.
        /// </summary>
        /// <param name="field">The field that should return a query.</param>
        public SqlQueryBuilder(Field field)
        {
            _Field = field;
            _Parameters = new List<Parameter>();

            Type ienumType = field.FieldType.GetGenericArguments().FirstOrDefault();

            _Table = Engine.GetTable(ienumType);
        }
コード例 #3
0
 public ConcurrentDataReader(IDataReader reader, Table entityTable)
 {
     _EntityTable = entityTable;
     _Reader = reader;
     _data = new List<IDictionary<String, Object>>();
 }