private void BuildSetter()
        {
            Setter   = new SetHandler[rdr.FieldCount];
            EnumType = new Type[rdr.FieldCount];

            Type     tp = typeof(TEntity);
            TableDef td = MetaData.GetTableDef(tp);

            for (int i = 0; i < rdr.FieldCount; i++)
            {
                string   Name = rdr.GetName(i);
                FieldDef fld  = td.GetFieldDef(Name);
                if (fld != null)
                {
                    Setter[i] = fld.GetLoadSetHandler();
                    if (fld.IsEnum)
                    {
                        EnumType[i] = fld.FieldType;
                    }
                }
                else
                {
                    MemberInfo[] mis = tp.GetMember("_" + Name,
                                                    BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                    if (mis.Length == 0)
                    {
                        mis = tp.GetMember(Name, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
                    }
                    if (mis.Length == 0)
                    {
                        Setter[i] = null;
                    }
                    else
                    {
                        if (mis[0].MemberType == MemberTypes.Field)
                        {
                            Type ft = ((FieldInfo)mis[0]).FieldType;
                            if (ft.IsEnum)
                            {
                                EnumType[i] = ft;
                            }
                        }
                        else
                        {
                            Type ft = ((PropertyInfo)mis[0]).PropertyType;
                            if (ft.IsEnum)
                            {
                                EnumType[i] = ft;
                            }
                        }
                        Setter[i] = DynamicMethodCompiler.CreateSetHandler(mis[0]);
                    }
                }
            }
        }