-
Notifications
You must be signed in to change notification settings - Fork 932
Closed
Labels
Description
Hi I have this map:
public sealed class AssetMap : EntityMap<Asset, long?>
{
public AssetMap()
{
Table(Asset.TABLE);
// Cache.NonStrictReadWrite();
Id(x => x.Id).Column("ID_inmueble").GeneratedBy.Native();
Map(x => x.PortfolioId).Column("ID_cartera").UniqueKey("UK_ASSET").Not.Nullable();
// Internal data
Map(x => x.Reference).Column("referencia").UniqueKey("UK_ASSET").Length(200).Not.Nullable();
Map(x => x.Repeated).Column("repetido").Default("0").Nullable();
Map(x => x.Scope).Column("scope").Default("1").Nullable();
Map(x => x.Perimeter).Column("perimetro")/*.CustomSqlType("int")*/.CustomType<Perimeter?>().Default("1").Nullable();
Map(x => x.OutOfScope).Column("out_of_scope").ReadOnly();
Map(x => x.DevelopmentId).Column("ID_promocion").Index("IX_ASSET_DEVELOPMENT_ID").Not.Nullable();
Map(x => x.CadastralReference).Column("referencia_catastral").Index("IX_ASSET_CADASTRAL_REFERENCE").Nullable();
Map(x => x.EstateCadastralReference).Column("EstateId").Index("IX_ASSET_EstateId").Nullable().ReadOnly();
Map(x => x.AuraId).Column("id_aura").Nullable();
Map(x => x.ClientId).Column("id_cliente").Length(100);
Map(x => x.Borrower).Column("propietario").Length(100);
Map(x => x.BorrowerId).Column("id_borrower").Length(100);
Map(x => x.LoanId).Column("id_loan").Length(50).Nullable();
Map(x => x.RegistryId).Column("finca_registral").Length(100).Nullable();
Map(x => x.Registration).Column("registro").Length(100).Nullable();
Map(x => x.RegistrationNumber).Column("numeroRegistro").Nullable();
Map(x => x.Idufir).Column("idufir").Nullable();
Map(x => x.Lien).Column("lien").Length(50);
Map(x => x.CadastralRefSection).Column("rc_seccion").Length(1);
Map(x => x.CadastralRefSheet).Column("rc_hoja").Length(7);
Map(x => x.CadastralRefParcel).Column("rc_parcela").Length(9);
Map(x => x.CadastralRefSubparcel).Column("rc_subparcela").Length(4);
Map(x => x.CadastralRefCategory).Column("rc_categoria").Length(4);
// Location data
Map(x => x.OriginalAddress).Column("direccion_original").Length(2000);
Map(x => x.FullAddress).Column("direccion_completa").Length(500)/*.Not.Nullable()*/;
Map(x => x.AddressName).Column("direccion_nombre").Length(ValidationUtils.MAX_LENGTH_ADDRESS_NAME).Nullable();
Map(x => x.AddressNumber).Column("direccion_numero").Length(ValidationUtils.MAX_LENGTH_ADDRESS_NUMBER).Nullable();
Map(x => x.AddressFloor).Column("direccion_planta").Length(ValidationUtils.MAX_LENGTH_ADDRESS_FLOOR).Nullable();
Map(x => x.Block).Column("direccion_bloque").CustomSqlType("nvarchar(max)").Nullable();
Map(x => x.Stair).Column("direccion_escalera").CustomSqlType("nvarchar(max)").Nullable();
Map(x => x.AddressDoor).Column("direccion_unidad").Length(ValidationUtils.MAX_LENGTH_ADDRESS_DOOR).Nullable();
Map(x => x.ZipCode).Column("cp").Nullable();
Map(x => x.Latitude).Column("latitud").Index("IX_LATITUDE_LONGITUDE").Nullable();
Map(x => x.Longitude).Column("longitud").Index("IX_LATITUDE_LONGITUDE").Nullable();
Map(x => x.Geolocation).Column("geolocation").CustomSqlType("GEOGRAPHY").CustomType<MsSqlGeographyType>().Index("IX_ASSET_GEO_LOCATION").Nullable().LazyLoad();
//Map(x => x.Geolocation).Column("geolocation").CustomSqlType("GEOGRAPHY").CustomType<GuruPostGisGeometryType>().Index("IX_PROPERTY_GEO_LOCATION").Nullable().LazyLoad();
Map(x => x.GeolocationType).Column("geolocation_type").CustomType<EnumStringType<GeolocationType>>().Length(20).Nullable();
// Typology
Map(x => x.AssetType).Column("ID_tipo")/*.CustomSqlType("int")*/.CustomType<AssetType>().Not.Nullable();
Map(x => x.AssetSubtype).Column("ID_subtipo").CustomType<AssetSubtype?>().Nullable();
// Map(x => x.MaintenanceStatus).Column("estado_conservacion").CustomType<MaintenanceStatus?>().Nullable();
// Area
Map(x => x.OriginalArea).Column("superficie_original").Nullable();
Map(x => x.Area).Column("superficie").Nullable();
Map(x => x.UsefulArea).Column("superficie_util").Nullable();
Map(x => x.PlotArea).Column("superficie_parcela").Nullable();
Map(x => x.TerraceArea).Column("superficie_terraza").Nullable();
Map(x => x.AreaCcaa).Column("superficie_ccaa").Nullable();
Map(x => x.AreaCcaaParking).Column("superficie_ccaa_parking").Nullable();
Map(x => x.AreaCcaaStorageRoom).Column("superficie_ccaa_trastero").Nullable();
Map(x => x.AreaHousing).Column("superficie_vivienda").Nullable();
Map(x => x.AreaRegistry).Column("superficie_registro").Nullable();
Map(x => x.AreaCcaaRegistry).Column("superficie_ccaa_registro").Nullable();
Map(x => x.AppraisalArea).Column("sup_tasacion").Nullable();
Map(x => x.AppraisalAreaCcaa).Column("sup_tasacion_ccaa").Nullable();
Map(x => x.AreaData).Column("sup_data").Nullable();
Map(x => x.AreaCcaaData).Column("sup_data_ccaa").Nullable();
Map(x => x.WheightedArea).Column("superficie_comercial").Nullable();
Map(x => x.GrossFloorArea).Column("superficie_planta_bruta").Nullable();
Map(x => x.NetPlotArea).Column("superficie_neta_suelo").Nullable();
Map(x => x.AreaSource).Column("superficie_fuente").CustomType<AreaSourceType?>().Nullable();
Map(x => x.TotalFloors).Column("total_plantas").Nullable();
Map(x => x.TotalFloorsMainUse).Column("total_plantas_uso_prin").Nullable();
Map(x => x.TotalAnexes).Column("total_anejos").Nullable();
// Features
Map(x => x.YearOfConstruction).Column("anyo_construccion").Nullable();
Map(x => x.Rooms).Column("habitaciones").Nullable();
Map(x => x.RoomsKnown).Column("habitaciones_known").Nullable();
Map(x => x.RoomsSource).Column("habitaciones_fuente").CustomType<RoomsSourceType?>().Nullable();
Map(x => x.Bathrooms).Column("banios").Nullable();
Map(x => x.Parkings).Column("parking").Nullable();
Map(x => x.Storerooms).Column("trastero").Nullable();
Map(x => x.SwimmingPool).Column("piscina").Nullable();
Map(x => x.Terrace).Column("terraza").Nullable();
Map(x => x.Orientation).Column("interior_exterior").CustomType<WindowOrientation?>().Nullable();
Map(x => x.Duplex).Column("duplex").Nullable();
Map(x => x.SeaViews).Column("vistas_mar").Nullable();
Map(x => x.EnergyCertificate).Column("cert_energetico").CustomType<EnergyCertificate?>().Nullable();
Map(x => x.SmokeVent).Column("salida_humos").Nullable();
Map(x => x.Showcase).Column("escaparate").Nullable();
Map(x => x.CrossingDocks).Column("crossing_docks").Nullable();
Map(x => x.PositiveCold).Column("positive_cold").Nullable();
Map(x => x.NegativeCold).Column("negative_cold").Nullable();
Map(x => x.TypeOfCrop).Column("tipo_cultivo").Nullable();
Map(x => x.MaxHeight).Column("max_height").Nullable();
// Tenancy & Use
Map(x => x.Activity).Column("tipo_actividad").Length(25).Nullable();
Map(x => x.Vpo).Column("vpo").Nullable();
Map(x => x.InUse).Column("en_uso").Nullable();
Map(x => x.Rented).Column("rented").Nullable();
Map(x => x.RentedKnown).Column("rented_known").Nullable();
Map(x => x.RentedSource).Column("rented_source").CustomType<SourceType?>().Nullable();
Map(x => x.LeaseContract).Column("contrato_de_alquiler").Nullable();
Map(x => x.IllegalSquatters).Column("okupas_ilegales").Nullable();
Map(x => x.IllegalSquattersKnown).Column("okupas_ilegales_known").Nullable();
Map(x => x.IllegalSquattersPastVal).Column("okupas_ilegales_past_val").Nullable();
Map(x => x.IllegalSquattersSource).Column("okupas_source").CustomType<SourceType?>().Nullable();
Map(x => x.MarketShare).Column("market_share").Default("100").Nullable();
Map(x => x.MarketShareType).Column("market_share_type").CustomType<MarketShareType?>().Nullable();
Map(x => x.PctPropertyOnBuilding).Column("pct_propiedad_edificio").Nullable();
// Subsidized assets
// Visible if subsidized yes
Map(x => x.ProtectionType).Column("tipo_proteccion").Length(25).Nullable();
Map(x => x.VpoModule).Column("vpo_modulo").Nullable();
Map(x => x.PctEuroSqmAnexes).Column("pct_eurom2_anejos").Nullable();
Map(x => x.LegalMaximumValueEurSqm).Column("vpo_val_max_legal_m2");
Map(x => x.LegalMaximumValue).Column("vpo_val_max_legal").ReadOnly();
Map(x => x.DateOfQualification).Column("fecha_calificacion");
Map(x => x.DateOfDisqualification).Column("fecha_descalificacion");
// Valuation management
Map(x => x.MarketResearchId).Column("ID_desktop").Nullable();
Map(x => x.CoefficientTotal).Column("val_ratio_total").ReadOnly();
Map(x => x.CoefficientTotalRent).Column("val_ratio_total_renta").ReadOnly();
Map(x => x.CoefficientFix).Column("val_ratio_fix").Default("1").Nullable();
Map(x => x.CoefficientFixRent).Column("val_ratio_fix_renta").Default("1").Nullable();
Map(x => x.CoefficientSize).Column("val_ratio_size").Default("1").Nullable();
Map(x => x.CoefficientFloor).Column("val_ratio_planta").Default("1").Nullable();
Map(x => x.CoefficientOrientation).Column("val_ratio_interior_exterior").Default("1").Nullable();
Map(x => x.CoefficientDuplex).Column("val_ratio_duplex").Default("1").Nullable();
Map(x => x.CoefficientSeaViews).Column("val_ratio_vistas_mar").Default("1").Nullable();
Map(x => x.CoefficientSmokeVent).Column("val_ratio_salida_humos").Default("1").Nullable();
Map(x => x.CoefficientShowcase).Column("val_ratio_escaparate").Default("1").Nullable();
Map(x => x.CoefficientCrossingDocks).Column("val_ratio_crossing_docks").Default("1").Nullable();
Map(x => x.CoefficientPositiveCold).Column("val_ratio_positive_cold").Default("1").Nullable();
Map(x => x.CoefficientNegativeCold).Column("val_ratio_negative_cold").Default("1").Nullable();
Map(x => x.CoefficientTypeOfCrop).Column("val_ratio_tipo_cultivo").Default("1").Nullable();
Map(x => x.CoefficientTerrace).Column("val_ratio_terraza").Default("1").Nullable();
// Market Value (Comparables)
Map(x => x.EuroSqmCcaa).Column("eur_sqm_ccaa").ReadOnly();
Map(x => x.EuroSqm).Column("eur_sqm").ReadOnly();
Map(x => x.Price).Column("price").ReadOnly();
// Leasing Costs
Map(x => x.MonthlyCommExpSqm).Column("gastos_mensuales_comunidad_m2").Default("0").Nullable();
Map(x => x.MonthlyIbiExpSqm).Column("gastos_mensuales_ibi_m2").Default("0").Nullable();
Map(x => x.MonthlyInsExpSqm).Column("gastos_mensuales_seguros_m2").Default("0").Nullable();
Map(x => x.MonthlyFeeExpSqm).Column("gastos_mensuales_fee").Default("0").Nullable();
Map(x => x.MonthlyMainExpSqm).Column("gastos_mensuales_main").Default("0").Nullable();
Map(x => x.MonthlyOtherExpSqm).Column("gastos_mensuales_otro").Default("0").Nullable();
Map(x => x.MonthlyManualExp).Column("gastos_manual_mensuales").Nullable();
// Capital values (100% occup & 100% lettable area)
Map(x => x.EstimatedRentalValue).Column("erv").ReadOnly();
Map(x => x.GrossRent).Column("gross_rent").ReadOnly();
Map(x => x.MonthlyCommExpSqmIncl).Column("gastos_mensuales_comunidad_m2_incl").Default("1").Nullable();
Map(x => x.MonthlyIbiExpSqmIncl).Column("gastos_mensuales_ibi_m2_incl").Default("1").Nullable();
Map(x => x.MonthlyInsExpSqmIncl).Column("gastos_mensuales_seguros_m2_incl").Default("1").Nullable();
Map(x => x.MonthlyFeeExpSqmIncl).Column("gastos_mensuales_fee_incl").Default("1").Nullable();
Map(x => x.MonthlyMainExpSqmIncl).Column("gastos_mensuales_main_incl").Default("1").Nullable();
Map(x => x.MonthlyOtherExpSqmIncl).Column("gastos_mensuales_otro_incl").Default("1").Nullable();
Map(x => x.NetEstimatedRentalValue).Column("net_erv").ReadOnly();
Map(x => x.NetRent).Column("net_rent").ReadOnly();
Map(x => x.CapValueEuroSqm).Column("cap_value_eur_sqm").ReadOnly();
Map(x => x.CapValue).Column("cap_value").ReadOnly();
// Visible if lease contract yes
Map(x => x.Tenant).Column("inquilino").Nullable();
Map(x => x.TenantProfile).Column("tipo_inquilino").Nullable();
Map(x => x.ContractMonthlyRent).Column("renta_mensual_contrato").Nullable();
Map(x => x.RentIndexation).Column("indexacion_alquiler").Nullable();
Map(x => x.ContractMonthlyCommExpSqmIncl).Column("gastos_mensuales_comunidad_m2_contrato_incl").Nullable();
Map(x => x.ContractMonthlyIbiExpSqmIncl).Column("gastos_mensuales_ibi_m2_contrato_incl").Nullable();
Map(x => x.ContractMonthlyInsExpSqmIncl).Column("gastos_mensuales_seguros_m2_contrato_incl").Nullable();
Map(x => x.ContractMonthlyFeeExpSqmIncl).Column("gastos_mensuales_fee_contrato_incl").Nullable();
Map(x => x.ContractMonthlyMainExpSqmIncl).Column("gastos_mensuales_main_contrato_incl").Nullable();
Map(x => x.ContractMonthlyOtherExpSqmIncl).Column("gastos_mensuales_otro_contrato_incl").Nullable();
Map(x => x.ContractStartDate).Column("fecha_inicio_contrato").Nullable();
Map(x => x.ContractFinalDate).Column("fecha_fin_contrato").Nullable();
Map(x => x.PurchaseOption).Column("opcion_compra").Nullable();
Map(x => x.ContractComments).Column("comentarios_contrato").CustomSqlType("nvarchar(max)").Nullable();
Map(x => x.ContractNetRent).Column("val_renta_neta_contracto").Nullable();
Map(x => x.ContractGrossRent).Column("val_renta_bruta_contracto").Nullable();
Map(x => x.Leakage).Column("leakage").ReadOnly();
Map(x => x.UnderOverRented).Column("sobre_infra_alquilado").CustomType<UnderOverRented?>().Nullable();
// Capital Value(Lease contract)
Map(x => x.ContractCapNetRent).Column("contract_cap_net_rent").ReadOnly();
Map(x => x.ContractCapAiy).Column("val_aiy_contracto").Nullable();
Map(x => x.ContractCapValueEuroSqm).Column("contract_cap_value_eur_sqm").ReadOnly();
Map(x => x.ContractCapValue).Column("contract_cap_value").ReadOnly();
Map(x => x.FinalValueType).Column("final_value_type").CustomType<FinalValueType?>().Nullable();
Map(x => x.AssFinalPriceSales).Column("final_value").ReadOnly();
Map(x => x.AssFinalSqmSales).Column("final_eur_sqm").ReadOnly();
Map(x => x.AssFinalPriceSalesManual).Column("final_value_manual").Nullable();
Map(x => x.QuickSaleValue).Column("valor_venta_rapida").Nullable();
Map(x => x.JudicialValue).Column("valor_judicial").Nullable();
// Appr. Value
Map(x => x.AppraisalValue).Column("valor_tasacion");
Map(x => x.AppraisalDate).Column("fecha_tasacion");
// Others
// Map(x => x.InDate).Column("IN_DATE").Nullable();
Map(x => x.Capex).Column("capex").Nullable();
Map(x => x.UrbanPlanningCapex).Column("plan_urbana_capex").Nullable();
Map(x => x.BuildingCapex).Column("edificio_capex").Nullable();
Map(x => x.CadastralCapex).Column("catastro_capex").Nullable();
Map(x => x.AsbestosCapex).Column("amianto_capex").Nullable();
Map(x => x.OthEnvrCapex).Column("otro_ambiental_capex").Nullable();
Map(x => x.PurchaseCostsOku).Column("gastos_compra_okupas").Nullable();
Map(x => x.Line).Column("DATA_TAPE_LINE").CustomType<JsonColumnType<string[]>>().Not.Nullable();
// Map(x => x.LineGzip).Column("DATA_TAPE_LINE_GZIP").CustomType<GuruJsonColumnType<string[]>>().Not.Nullable();
Map(x => x.IdCod00).Column("id_cod_00").Nullable();
Map(x => x.IdCod01).Column("id_cod_01").Nullable();
Map(x => x.IdCod02).Column("id_cod_02").Nullable();
Map(x => x.IdCod03).Column("id_cod_03").Nullable();
Map(x => x.IdCod04).Column("id_cod_04").Nullable();
Map(x => x.IdCod05).Column("id_cod_05").Nullable();
Map(x => x.IdCod06).Column("id_cod_06").Nullable();
Map(x => x.IdCod07).Column("id_cod_07").Nullable();
Map(x => x.IdCod08).Column("id_cod_08").Nullable();
Map(x => x.UpdatedFrom).Column("UPDATED_FROM").CustomType<AssetUpdatedFrom?>().Not.Nullable();
Map(x => x.DataTapeVersion).Column("DATA_TAPE_VERSION").Default("0").Not.Nullable();
// Market Research
Map(x => x.AssCompSqmRent).Column("val_preciom2_alq").Nullable();
Map(x => x.AssCompSqmSales).Column("val_preciom2_venta").Nullable();
Map(x => x.AssArea).Column("val_superficie").Nullable();
Map(x => x.AiyNet).Column("val_aiy").Nullable();
Map(x => x.Rent).Column("rent").ReadOnly();
// Flags
Map(x => x.FlgFullAddress).Column("flg_direccion_completa").Nullable();
Map(x => x.FlgIdCod08).Column("flg_id_cod_08").Nullable();
Map(x => x.FlgIdCod03).Column("flg_id_cod_03").Nullable();
Map(x => x.FlgIdCod02).Column("flg_id_cod_02").Nullable();
Map(x => x.FlgIdCod00).Column("flg_id_cod_00").Nullable();
Map(x => x.FlgLatitude).Column("flg_latitud").Nullable();
Map(x => x.FlgLongitude).Column("flg_longitud").Nullable();
Map(x => x.FlgCadastralReference).Column("flg_referencia_catastral").Nullable();
Map(x => x.FlagLocation).Column("flg_location").CustomType<FlagLocation?>().Nullable();
Map(x => x.AccurateGeoScore).Column("accurate_geo_score").Nullable();
Map(x => x.TypeOfAvm).Column("tipo_avm").CustomType<TypeOfAvm?>().Nullable();
Map(x => x.FlgZipCode5).Column("flg_cp5").Nullable();
Map(x => x.FlgZipCode2).Column("flg_cp2").Nullable();
Map(x => x.FromAvm).Column("flg_avm").Nullable();
Map(x => x.AvmPriceSales).Column("precio_avm_venta").Nullable();
Map(x => x.AvmEuroSqmRent).Column("euroSqm_avm_alq").Nullable();
Map(x => x.AvmRadioSales).Column("radio_avm_venta").Nullable();
Map(x => x.AvmRadioRent).Column("radio_avm_alq").Nullable();
Map(x => x.AvmSubtypeSales).Column("subtipo_avm_venta").CustomType<AvmSubtype?>().Nullable();
Map(x => x.AvmSubtypeRent).Column("subtipo_avm_alq").CustomType<AvmSubtype?>().Nullable();
References(x => x.Aura).Column("id_aura").LazyLoad().ReadOnly();
References(x => x.Development).Column("ID_promocion").ReadOnly();
References(x => x.GeographicalLevel03).Column("id_cod_base").NotFound.Ignore().LazyLoad().ReadOnly();
References(x => x.MarketResearch).Column("ID_desktop").LazyLoad().ReadOnly();
// Only for monitoring
References(x => x.PopulationLevel03).Column("id_cod_03").LazyLoad().ReadOnly();
References(x => x.TypeOfPlace03).Column("id_cod_03").LazyLoad().ReadOnly();
HasMany(x => x.ConstructiveElements).KeyColumn("ID_inmueble").NotFound.Ignore().Not.LazyLoad().Inverse().Cascade.AllDeleteOrphan().AsSet();
HasMany(x => x.Avms).KeyColumn("ID_inmueble").NotFound.Ignore().ExtraLazyLoad().Inverse().Cascade.None().ReadOnly().AsSet();
}
}but when I run this query with linq:
public Page<AssetUnitTemplateResult> PaginatedUnitsTemplate(IQueryable<Asset> query, PageRequest pageRequest)
{
var total = query.Count();
var result = query
.Select(w => new AssetUnitTemplateResult
{
AssetId = w.Id,
DevelopmentId = w.DevelopmentId,
Reference = w.Reference,
Development = w.Development.Reference,
AddressFloor = w.AddressFloor,
AddressDoor = w.AddressDoor,
FullAddress = w.FullAddress,
AssetType = w.AssetType,
AreaCcaaData = w.AreaCcaaData.IsNull(),
Area = w.Area.IsNull(),
Rooms = w.Rooms,
UpdatedFrom = w.UpdatedFrom,
Capex = w.Capex.IsNull() + w.AsbestosCapex.IsNull() + w.BuildingCapex.IsNull() + w.CadastralCapex.IsNull() + w.OthEnvrCapex.IsNull() + w.UrbanPlanningCapex.IsNull(),
PurchaseCostsOku = w.PurchaseCostsOku.IsNull(),
CadastralReference = w.CadastralReference ?? w.EstateCadastralReference,
Vpo = w.Vpo,
AssFinalSqmSales = w.AssFinalSqmSales,
AssFinalPriceSales = w.AssFinalPriceSales,
EstimatedRentalValue = w.EstimatedRentalValue.IsNull(),
AiyNet = w.AiyNet.IsNull() / 100,
ConcludedEuroSqm = w.ConcludedEuroSqm.IsNull(),
ConcludedValue = w.ConcludedValue.IsNull(),
AssCompSqmSales = w.EuroSqm,
AssCompPriceSales = w.Price,
Charges = w.Development.Charges.IsNull(),
MonthlyCommExpSqm = w.MonthlyCommExpSqm,
MonthlyIbiExpSqm = w.MonthlyIbiExpSqm,
MonthlyInsExpSqm = w.MonthlyInsExpSqm,
MonthlyFeeExpSqm = w.MonthlyFeeExpSqm,
MonthlyMainExpSqm = w.MonthlyMainExpSqm,
MonthlyOtherExpSqm = w.MonthlyOtherExpSqm,
MonthlyCommExpSqmIncl = w.MonthlyCommExpSqmIncl,
MonthlyIbiExpSqmIncl = w.MonthlyIbiExpSqmIncl,
MonthlyInsExpSqmIncl = w.MonthlyInsExpSqmIncl,
MonthlyFeeExpSqmIncl = w.MonthlyFeeExpSqmIncl,
MonthlyMainExpSqmIncl = w.MonthlyMainExpSqmIncl,
MonthlyOtherExpSqmIncl = w.MonthlyOtherExpSqmIncl,
CapValue = w.CapValue,
FinalValueType = w.FinalValueType,
IdCod00 = w.IdCod00
})
.OrderBy(w => w.DevelopmentId)
.ThenBy(w => w.AssetId)
.Skip(pageRequest.Offset)
.Take(pageRequest.Size)
.ToList<AssetUnitTemplateResult>();
return new Page<AssetUnitTemplateResult>(result, result.Count, pageRequest.Page, result.Count, pageRequest.Sort, total, pageRequest.Size);
}
The generated sql is this:
select
asset0_.ID_inmueble as col_0_0_,
asset0_.ID_promocion as col_1_0_,
asset0_.referencia as col_2_0_,
developmen1_.referencia as col_3_0_,
asset0_.direccion_planta as col_4_0_,
asset0_.direccion_unidad as col_5_0_,
asset0_.direccion_completa as col_6_0_,
asset0_.ID_tipo as col_7_0_,
ISNULL(asset0_.sup_data_ccaa,
0) as col_8_0_,
ISNULL(asset0_.superficie,
0) as col_9_0_,
asset0_.habitaciones as col_10_0_,
asset0_.UPDATED_FROM as col_11_0_,
ISNULL(asset0_.capex,
0)+ISNULL(asset0_.amianto_capex,
0)+ISNULL(asset0_.edificio_capex,
0)+ISNULL(asset0_.catastro_capex,
0)+ISNULL(asset0_.otro_ambiental_capex,
0)+ISNULL(asset0_.plan_urbana_capex,
0) as col_12_0_,
ISNULL(asset0_.gastos_compra_okupas,
0) as col_13_0_,
coalesce(asset0_.referencia_catastral,
asset0_.EstateId) as col_14_0_,
asset0_.vpo as col_15_0_,
asset0_.final_eur_sqm as col_16_0_,
asset0_.final_value as col_17_0_,
ISNULL(asset0_.erv,
0) as col_18_0_,
ISNULL(asset0_.val_aiy,
0) as col_19_0_,
asset0_.ID_inmueble as col_20_0_,
asset0_.eur_sqm as col_22_0_,
asset0_.price as col_23_0_,
ISNULL(developmen1_.charges,
0) as col_24_0_,
asset0_.gastos_mensuales_comunidad_m2 as col_25_0_,
asset0_.gastos_mensuales_ibi_m2 as col_26_0_,
asset0_.gastos_mensuales_seguros_m2 as col_27_0_,
asset0_.gastos_mensuales_fee as col_28_0_,
asset0_.gastos_mensuales_main as col_29_0_,
asset0_.gastos_mensuales_otro as col_30_0_,
asset0_.gastos_mensuales_comunidad_m2_incl as col_31_0_,
asset0_.gastos_mensuales_ibi_m2_incl as col_32_0_,
asset0_.gastos_mensuales_seguros_m2_incl as col_33_0_,
asset0_.gastos_mensuales_fee_incl as col_34_0_,
asset0_.gastos_mensuales_main_incl as col_35_0_,
asset0_.gastos_mensuales_otro_incl as col_36_0_,
asset0_.cap_value as col_37_0_,
asset0_.final_value_type as col_38_0_,
asset0_.id_cod_00 as col_39_0_,
asset0_.ID_inmueble as id1_35_,
asset0_.VERSION as version2_35_,
asset0_.OLD_ID as old3_35_,
asset0_.ID_cartera as id4_35_,
asset0_.referencia as referencia5_35_,
asset0_.repetido as repetido6_35_,
asset0_.[scope] as scope7_35_,
asset0_.perimetro as perimetro8_35_,
asset0_.out_of_scope as out9_35_,
asset0_.ID_promocion as id10_35_,
asset0_.referencia_catastral as referencia11_35_,
asset0_.EstateId as estateid12_35_,
asset0_.id_aura as id13_35_,
asset0_.id_cliente as id14_35_,
asset0_.propietario as propietario15_35_,
asset0_.id_borrower as id16_35_,
asset0_.id_loan as id17_35_,
asset0_.finca_registral as finca18_35_,
asset0_.registro as registro19_35_,
asset0_.numeroRegistro as numeroregistro20_35_,
asset0_.idufir as idufir21_35_,
asset0_.lien as lien22_35_,
asset0_.rc_seccion as rc23_35_,
asset0_.rc_hoja as rc24_35_,
asset0_.rc_parcela as rc25_35_,
asset0_.rc_subparcela as rc26_35_,
asset0_.rc_categoria as rc27_35_,
asset0_.direccion_original as direccion28_35_,
asset0_.direccion_completa as direccion29_35_,
asset0_.direccion_nombre as direccion30_35_,
asset0_.direccion_numero as direccion31_35_,
asset0_.direccion_planta as direccion32_35_,
asset0_.direccion_bloque as direccion33_35_,
asset0_.direccion_escalera as direccion34_35_,
asset0_.direccion_unidad as direccion35_35_,
asset0_.cp as cp36_35_,
asset0_.latitud as latitud37_35_,
asset0_.longitud as longitud38_35_,
asset0_.geolocation_type as geolocation40_35_,
asset0_.ID_tipo as id41_35_,
asset0_.ID_subtipo as id42_35_,
asset0_.superficie_original as superficie43_35_,
asset0_.superficie as superficie44_35_,
asset0_.superficie_util as superficie45_35_,
asset0_.superficie_parcela as superficie46_35_,
asset0_.superficie_terraza as superficie47_35_,
asset0_.superficie_ccaa as superficie48_35_,
asset0_.superficie_ccaa_parking as superficie49_35_,
asset0_.superficie_ccaa_trastero as superficie50_35_,
asset0_.superficie_vivienda as superficie51_35_,
asset0_.superficie_registro as superficie52_35_,
asset0_.superficie_ccaa_registro as superficie53_35_,
asset0_.sup_tasacion as sup54_35_,
asset0_.sup_tasacion_ccaa as sup55_35_,
asset0_.sup_data as sup56_35_,
asset0_.sup_data_ccaa as sup57_35_,
asset0_.superficie_comercial as superficie58_35_,
asset0_.superficie_planta_bruta as superficie59_35_,
asset0_.superficie_neta_suelo as superficie60_35_,
asset0_.superficie_fuente as superficie61_35_,
asset0_.total_plantas as total62_35_,
asset0_.total_plantas_uso_prin as total63_35_,
asset0_.total_anejos as total64_35_,
asset0_.anyo_construccion as anyo65_35_,
asset0_.habitaciones as habitaciones66_35_,
asset0_.habitaciones_known as habitaciones67_35_,
asset0_.habitaciones_fuente as habitaciones68_35_,
asset0_.banios as banios69_35_,
asset0_.parking as parking70_35_,
asset0_.trastero as trastero71_35_,
asset0_.piscina as piscina72_35_,
asset0_.terraza as terraza73_35_,
asset0_.interior_exterior as interior74_35_,
asset0_.duplex as duplex75_35_,
asset0_.vistas_mar as vistas76_35_,
asset0_.cert_energetico as cert77_35_,
asset0_.salida_humos as salida78_35_,
asset0_.escaparate as escaparate79_35_,
asset0_.crossing_docks as crossing80_35_,
asset0_.positive_cold as positive81_35_,
asset0_.negative_cold as negative82_35_,
asset0_.tipo_cultivo as tipo83_35_,
asset0_.max_height as max84_35_,
asset0_.tipo_actividad as tipo85_35_,
asset0_.vpo as vpo86_35_,
asset0_.en_uso as en87_35_,
asset0_.rented as rented88_35_,
asset0_.rented_known as rented89_35_,
asset0_.rented_source as rented90_35_,
asset0_.contrato_de_alquiler as contrato91_35_,
asset0_.okupas_ilegales as okupas92_35_,
asset0_.okupas_ilegales_known as okupas93_35_,
asset0_.okupas_ilegales_past_val as okupas94_35_,
asset0_.okupas_source as okupas95_35_,
asset0_.market_share as market96_35_,
asset0_.market_share_type as market97_35_,
asset0_.pct_propiedad_edificio as pct98_35_,
asset0_.tipo_proteccion as tipo99_35_,
asset0_.vpo_modulo as vpo100_35_,
asset0_.pct_eurom2_anejos as pct101_35_,
asset0_.vpo_val_max_legal_m2 as vpo102_35_,
asset0_.vpo_val_max_legal as vpo103_35_,
asset0_.fecha_calificacion as fecha104_35_,
asset0_.fecha_descalificacion as fecha105_35_,
asset0_.ID_desktop as id106_35_,
asset0_.val_ratio_total as val107_35_,
asset0_.val_ratio_total_renta as val108_35_,
asset0_.val_ratio_fix as val109_35_,
asset0_.val_ratio_fix_renta as val110_35_,
asset0_.val_ratio_size as val111_35_,
asset0_.val_ratio_planta as val112_35_,
asset0_.val_ratio_interior_exterior as val113_35_,
asset0_.val_ratio_duplex as val114_35_,
asset0_.val_ratio_vistas_mar as val115_35_,
asset0_.val_ratio_salida_humos as val116_35_,
asset0_.val_ratio_escaparate as val117_35_,
asset0_.val_ratio_crossing_docks as val118_35_,
asset0_.val_ratio_positive_cold as val119_35_,
asset0_.val_ratio_negative_cold as val120_35_,
asset0_.val_ratio_tipo_cultivo as val121_35_,
asset0_.val_ratio_terraza as val122_35_,
asset0_.eur_sqm_ccaa as eur123_35_,
asset0_.eur_sqm as eur124_35_,
asset0_.price as price125_35_,
asset0_.gastos_mensuales_comunidad_m2 as gastos126_35_,
asset0_.gastos_mensuales_ibi_m2 as gastos127_35_,
asset0_.gastos_mensuales_seguros_m2 as gastos128_35_,
asset0_.gastos_mensuales_fee as gastos129_35_,
asset0_.gastos_mensuales_main as gastos130_35_,
asset0_.gastos_mensuales_otro as gastos131_35_,
asset0_.gastos_manual_mensuales as gastos132_35_,
asset0_.erv as erv133_35_,
asset0_.gross_rent as gross134_35_,
asset0_.gastos_mensuales_comunidad_m2_incl as gastos135_35_,
asset0_.gastos_mensuales_ibi_m2_incl as gastos136_35_,
asset0_.gastos_mensuales_seguros_m2_incl as gastos137_35_,
asset0_.gastos_mensuales_fee_incl as gastos138_35_,
asset0_.gastos_mensuales_main_incl as gastos139_35_,
asset0_.gastos_mensuales_otro_incl as gastos140_35_,
asset0_.net_erv as net141_35_,
asset0_.net_rent as net142_35_,
asset0_.cap_value_eur_sqm as cap143_35_,
asset0_.cap_value as cap144_35_,
asset0_.inquilino as inquilino145_35_,
asset0_.tipo_inquilino as tipo146_35_,
asset0_.renta_mensual_contrato as renta147_35_,
asset0_.indexacion_alquiler as indexacion148_35_,
asset0_.gastos_mensuales_comunidad_m2_contrato_incl as gastos149_35_,
asset0_.gastos_mensuales_ibi_m2_contrato_incl as gastos150_35_,
asset0_.gastos_mensuales_seguros_m2_contrato_incl as gastos151_35_,
asset0_.gastos_mensuales_fee_contrato_incl as gastos152_35_,
asset0_.gastos_mensuales_main_contrato_incl as gastos153_35_,
asset0_.gastos_mensuales_otro_contrato_incl as gastos154_35_,
asset0_.fecha_inicio_contrato as fecha155_35_,
asset0_.fecha_fin_contrato as fecha156_35_,
asset0_.opcion_compra as opcion157_35_,
asset0_.comentarios_contrato as comentarios158_35_,
asset0_.val_renta_neta_contracto as val159_35_,
asset0_.val_renta_bruta_contracto as val160_35_,
asset0_.leakage as leakage161_35_,
asset0_.sobre_infra_alquilado as sobre162_35_,
asset0_.contract_cap_net_rent as contract163_35_,
asset0_.val_aiy_contracto as val164_35_,
asset0_.contract_cap_value_eur_sqm as contract165_35_,
asset0_.contract_cap_value as contract166_35_,
asset0_.final_value_type as final167_35_,
asset0_.final_value as final168_35_,
asset0_.final_eur_sqm as final169_35_,
asset0_.final_value_manual as final170_35_,
asset0_.valor_venta_rapida as valor171_35_,
asset0_.valor_judicial as valor172_35_,
asset0_.valor_tasacion as valor173_35_,
asset0_.fecha_tasacion as fecha174_35_,
asset0_.capex as capex175_35_,
asset0_.plan_urbana_capex as plan176_35_,
asset0_.edificio_capex as edificio177_35_,
asset0_.catastro_capex as catastro178_35_,
asset0_.amianto_capex as amianto179_35_,
asset0_.otro_ambiental_capex as otro180_35_,
asset0_.gastos_compra_okupas as gastos181_35_,
asset0_.DATA_TAPE_LINE as data182_35_,
asset0_.id_cod_00 as id183_35_,
asset0_.id_cod_01 as id184_35_,
asset0_.id_cod_02 as id185_35_,
asset0_.id_cod_03 as id186_35_,
asset0_.id_cod_04 as id187_35_,
asset0_.id_cod_05 as id188_35_,
asset0_.id_cod_06 as id189_35_,
asset0_.id_cod_07 as id190_35_,
asset0_.id_cod_08 as id191_35_,
asset0_.UPDATED_FROM as updated192_35_,
asset0_.DATA_TAPE_VERSION as data193_35_,
asset0_.val_preciom2_alq as val194_35_,
asset0_.val_preciom2_venta as val195_35_,
asset0_.val_superficie as val196_35_,
asset0_.val_aiy as val197_35_,
asset0_.rent as rent198_35_,
asset0_.flg_direccion_completa as flg199_35_,
asset0_.flg_id_cod_08 as flg200_35_,
asset0_.flg_id_cod_03 as flg201_35_,
asset0_.flg_id_cod_02 as flg202_35_,
asset0_.flg_id_cod_00 as flg203_35_,
asset0_.flg_latitud as flg204_35_,
asset0_.flg_longitud as flg205_35_,
asset0_.flg_referencia_catastral as flg206_35_,
asset0_.flg_location as flg207_35_,
asset0_.accurate_geo_score as accurate208_35_,
asset0_.tipo_avm as tipo209_35_,
asset0_.flg_cp5 as flg210_35_,
asset0_.flg_cp2 as flg211_35_,
asset0_.flg_avm as flg212_35_,
asset0_.precio_avm_venta as precio213_35_,
asset0_.euroSqm_avm_alq as eurosqm214_35_,
asset0_.radio_avm_venta as radio215_35_,
asset0_.radio_avm_alq as radio216_35_,
asset0_.subtipo_avm_venta as subtipo217_35_,
asset0_.subtipo_avm_alq as subtipo218_35_,
asset0_.id_cod_base as id219_35_
from
dbo.inmueble asset0_
inner join
dbo.promocion developmen1_
on asset0_.ID_promocion=developmen1_.ID_promocion
inner join
dbo.cartera portfolio2_
on developmen1_.ID_cartera=portfolio2_.ID_cartera
where
portfolio2_.ID_empresa=@p0
and asset0_.ID_cartera=@p1
and (
asset0_.ID_tipo in (
@p2
)
)
and (
developmen1_.ID_tipo_valoracion in (
@p3
)
)
order by
asset0_.ID_promocion asc,
asset0_.ID_inmueble asc OFFSET @p4 ROWS FETCH FIRST @p5 ROWS ONLY;
@p0 = 1 [Type: Int64 (0:0:0)],
@p1 = 2606 [Type: Int64 (0:0:0)],
@p2 = 6 [Type: Int32 (0:0:0)],
@p3 = 2 [Type: Int32 (0:0:0)],
@p4 = 0 [Type: Int32 (0:0:0)],
@p5 = 50 [Type: Int32 (0:0:0)]
The sql is returning all the columns of the Asset model along with the ones I put in the select.
@fredericDelaporte Can you help me?