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); }
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; } }); }