Exemple #1
0
        public static object ToEntity(IDataReader P_0)
        {
            //IL_010c: Expected O, but got I8
            //IL_0166: Expected O, but got I8
            //IL_0195: Expected O, but got I8
            UserIL user = new UserIL();

            user.Address = new AddressIL();
            user.Id      = P_0.GetInt64(0);
            if (!P_0.IsDBNull(1))
            {
                user.Name = P_0.GetString(1);
            }
            user.Age    = P_0.GetInt32(2);
            user.Height = P_0.GetDouble(3);
            user.Six    = (Six)P_0.GetInt32(4);
            if (!P_0.IsDBNull(5))
            {
                user.ExtensionData = P_0.GetString(5);
            }
            user.OrgId          = P_0.GetInt64(6);
            user.TenantId       = P_0.GetInt64(7);
            user.Address.CityId = P_0.GetGuid(8);
            if (!P_0.IsDBNull(9))
            {
                user.Address.Street = P_0.GetString(9);
            }
            user.Address.Number = P_0.GetInt32(10);
            user.IsDeleted      = ((P_0.GetInt16(11) != 0) ? true : false);
            if (!P_0.IsDBNull(12))
            {
                user.DeleterUserId = P_0.GetInt64(12);
            }
            if (!P_0.IsDBNull(13))
            {
                user.DeletionTime = P_0.GetDateTime(13);
            }
            if (!P_0.IsDBNull(14))
            {
                user.LastModificationTime = P_0.GetDateTime(14);
            }
            if (!P_0.IsDBNull(15))
            {
                user.LastModifierUserId = P_0.GetInt64(15);
            }
            user.CreationTime = P_0.GetDateTime(16);
            if (!P_0.IsDBNull(17))
            {
                user.CreatorUserId = P_0.GetInt64(17);
            }
            return(user);
        }
Exemple #2
0
        static void DataReaderToEntity()
        {
            //创建方法
            toEntityMethod = typeBuilder.DefineMethod("ToEntity", MethodAttributes.Public, typeof(object), new Type[] { typeof(IDataReader) });
            ILGenerator il = toEntityMethod.GetILGenerator();

            DbDriveFactories.SetFactory <MySql.Data.MySqlClient.MySqlClientFactory>(new MySQLTranslator().ProviderInvariantName);

            EntityConfigurationFactory.SetConfiguration(typeof(UserIL), typeof(UserEntityConfigurationIL));
            IEntityMapper entityMapper = EntityMapperFactory.Instance.GetEntityMapper(typeof(UserIL));

            IDataProviderFactory DataProviderFactory = new DataProviderFactory();

            DataProviderFactory.AddDataSettings(getDefaultDataSetting());

            IDataProvider dataProvider = DataProviderFactory.CreateProvider("test");
            string        sql          = "SELECT Id,USERNAME,Age,Height,Six,ExtensionData,OrgId,TenantId,Address_CityId,Address_Street,ADDRESS_NUM,IsDeleted,DeleterUserId,DeletionTime,LastModificationTime,LastModifierUserId,CreationTime,CreatorUserId FROM TEST_USER WHERE Id = 13873372135800832 ORDER BY Id ASC";

            dataProvider.ExecuteReader(new Core.Data.SqlStatement(CommandType.Text, sql), (reader) =>
            {
                while (reader.Read())
                {
                    UserIL User = (UserIL)ToEntity(reader);
                    //Maple.Core.Reflection.TypeDeserializerEmit.CreateDataReaderDeserializer2(entityMapper, reader);

                    Maple.Core.Reflection.TypeDeserializerEmit.BuildFunction(entityMapper, reader, il);
                    try
                    {
                        UserIL obj = (UserIL)Maple.Core.Reflection.TypeDeserializerEmit.CreateDataReaderDeserializer(entityMapper, reader)(reader);
                    }
                    catch
                    {
                    }


                    //DataReaderDeserializer deserializer = entityMapper.GetDataReaderDeserializer(reader);
                    //obj = (User)deserializer(reader);


                    break;
                }
            });
        }