OData / AspNetCoreOData

ASP.NET Core OData: A server library built upon ODataLib and ASP.NET Core
Other
458 stars 158 forks source link

Calling /$metadata with Big EdmModel generates error. #1338

Closed Molinware closed 2 weeks ago

Molinware commented 2 weeks ago

Assemblies affected ASP.NET Core OData 9.0.0

Describe the bug Calling the /$metadata more than one time generates error.

Reproduce steps

Extra Information:

Data Model Not important for this issue.

EDM (CSDL) Model

// I've removed half of the EntitySet's because of github issue size limit.
public static void RegistrarServicos(ODataConventionModelBuilder builder)
        {
            builder.EntitySet<AcaoProgramadaPsqDto>(nameof(AcaoProgramadaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AcaoProgramadaPsqDtoAssync>(nameof(AcaoProgramadaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AcertoTituloPsqDto>(nameof(AcertoTituloPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AcertoTituloPsqDtoAssync>(nameof(AcertoTituloPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AdiantamentoClientePsqDto>(nameof(AdiantamentoClientePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AdiantamentoClientePsqDtoAssync>(nameof(AdiantamentoClientePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AdiantamentoFornecedorPsqDto>(nameof(AdiantamentoFornecedorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AdiantamentoFornecedorPsqDtoAssync>(nameof(AdiantamentoFornecedorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AdiantamentoSalarialPsqDto>(nameof(AdiantamentoSalarialPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AdiantamentoSalarialPsqDtoAssync>(nameof(AdiantamentoSalarialPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AdvogadoPsqDto>(nameof(AdvogadoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AdvogadoPsqDtoAssync>(nameof(AdvogadoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgenteVendasFisicaPsqDto>(nameof(AgenteVendasFisicaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgenteVendasFisicaPsqDtoAssync>(nameof(AgenteVendasFisicaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgenteVendasJuridicaPsqDto>(nameof(AgenteVendasJuridicaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgenteVendasJuridicaPsqDtoAssync>(nameof(AgenteVendasJuridicaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgenteVendasPsqDto>(nameof(AgenteVendasPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgenteVendasPsqDtoAssync>(nameof(AgenteVendasPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoAplicacaoClienteLocalidadePsqDto>(nameof(AgrotoxicoAplicacaoClienteLocalidadePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoAplicacaoClienteLocalidadePsqDtoAssync>(nameof(AgrotoxicoAplicacaoClienteLocalidadePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoAplicacaoClientePsqDto>(nameof(AgrotoxicoAplicacaoClientePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoAplicacaoClientePsqDtoAssync>(nameof(AgrotoxicoAplicacaoClientePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoAplicacaoLocalidadePsqDto>(nameof(AgrotoxicoAplicacaoLocalidadePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoAplicacaoLocalidadePsqDtoAssync>(nameof(AgrotoxicoAplicacaoLocalidadePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoCadastroPsqDto>(nameof(AgrotoxicoCadastroPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoCadastroPsqDtoAssync>(nameof(AgrotoxicoCadastroPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoCulturaPsqDto>(nameof(AgrotoxicoCulturaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoCulturaPsqDtoAssync>(nameof(AgrotoxicoCulturaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoDiagnosticoPsqDto>(nameof(AgrotoxicoDiagnosticoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoDiagnosticoPsqDtoAssync>(nameof(AgrotoxicoDiagnosticoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoEmbalagemPsqDto>(nameof(AgrotoxicoEmbalagemPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoEmbalagemPsqDtoAssync>(nameof(AgrotoxicoEmbalagemPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoMovimentoPsqDto>(nameof(AgrotoxicoMovimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoMovimentoPsqDtoAssync>(nameof(AgrotoxicoMovimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoPragaPsqDto>(nameof(AgrotoxicoPragaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoPragaPsqDtoAssync>(nameof(AgrotoxicoPragaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoProdutoPsqDto>(nameof(AgrotoxicoProdutoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoProdutoPsqDtoAssync>(nameof(AgrotoxicoProdutoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoProfissionalPsqDto>(nameof(AgrotoxicoProfissionalPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoProfissionalPsqDtoAssync>(nameof(AgrotoxicoProfissionalPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceitaPsqDto>(nameof(AgrotoxicoReceitaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceitaPsqDtoAssync>(nameof(AgrotoxicoReceitaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceituarioAgronomicoPsqDto>(nameof(AgrotoxicoReceituarioAgronomicoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceituarioAgronomicoPsqDtoAssync>(nameof(AgrotoxicoReceituarioAgronomicoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceituarioTerceirosVinculoNfPsqDto>(nameof(AgrotoxicoReceituarioTerceirosVinculoNfPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceituarioTerceirosVinculoNfPsqDtoAssync>(nameof(AgrotoxicoReceituarioTerceirosVinculoNfPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceituarioVinculoNotaFiscalPsqDto>(nameof(AgrotoxicoReceituarioVinculoNotaFiscalPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoReceituarioVinculoNotaFiscalPsqDtoAssync>(nameof(AgrotoxicoReceituarioVinculoNotaFiscalPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoTipoLogradouroPsqDto>(nameof(AgrotoxicoTipoLogradouroPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoTipoLogradouroPsqDtoAssync>(nameof(AgrotoxicoTipoLogradouroPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoUnidadeMedidaDosagemPsqDto>(nameof(AgrotoxicoUnidadeMedidaDosagemPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoUnidadeMedidaDosagemPsqDtoAssync>(nameof(AgrotoxicoUnidadeMedidaDosagemPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoUnidadeMedidaPsqDto>(nameof(AgrotoxicoUnidadeMedidaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AgrotoxicoUnidadeMedidaPsqDtoAssync>(nameof(AgrotoxicoUnidadeMedidaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<AnotacaoPessoalPsqDto>(nameof(AnotacaoPessoalPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<AnotacaoPessoalPsqDtoAssync>(nameof(AnotacaoPessoalPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ArquivoAnexoPsqDto>(nameof(ArquivoAnexoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ArquivoAnexoPsqDtoAssync>(nameof(ArquivoAnexoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ArquivoAuxiliarPdvPsqDto>(nameof(ArquivoAuxiliarPdvPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ArquivoAuxiliarPdvPsqDtoAssync>(nameof(ArquivoAuxiliarPdvPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<BalancaPsqDto>(nameof(BalancaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<BalancaPsqDtoAssync>(nameof(BalancaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<BloqueioClienteFoxPsqDto>(nameof(BloqueioClienteFoxPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<BloqueioClienteFoxPsqDtoAssync>(nameof(BloqueioClienteFoxPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CaixaOrdemServicoPsqDto>(nameof(CaixaOrdemServicoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CaixaOrdemServicoPsqDtoAssync>(nameof(CaixaOrdemServicoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CaixaPdvPsqDto>(nameof(CaixaPdvPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CaixaPdvPsqDtoAssync>(nameof(CaixaPdvPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CaixaPsqDto>(nameof(CaixaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CaixaPsqDtoAssync>(nameof(CaixaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CaixaRecebimentoCorrecaoBaixaOrdemServicoPsqDto>(nameof(CaixaRecebimentoCorrecaoBaixaOrdemServicoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CaixaRecebimentoCorrecaoBaixaOrdemServicoPsqDtoAssync>(nameof(CaixaRecebimentoCorrecaoBaixaOrdemServicoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CaixaRecebimentoPsqDto>(nameof(CaixaRecebimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CaixaRecebimentoPsqDtoAssync>(nameof(CaixaRecebimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CanalVendaPsqDto>(nameof(CanalVendaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CanalVendaPsqDtoAssync>(nameof(CanalVendaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CategoriaAnotacaoPessoalPsqDto>(nameof(CategoriaAnotacaoPessoalPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CategoriaAnotacaoPessoalPsqDtoAssync>(nameof(CategoriaAnotacaoPessoalPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CentroCustoPsqDto>(nameof(CentroCustoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CentroCustoPsqDtoAssync>(nameof(CentroCustoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CentroReceitaDespesaPsqDto>(nameof(CentroReceitaDespesaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CentroReceitaDespesaPsqDtoAssync>(nameof(CentroReceitaDespesaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ChecklistInformaticaPsqDto>(nameof(ChecklistInformaticaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ChecklistInformaticaPsqDtoAssync>(nameof(ChecklistInformaticaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ChecklistPsqDto>(nameof(ChecklistPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ChecklistPsqDtoAssync>(nameof(ChecklistPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CidadeEstrangeiraPsqDto>(nameof(CidadeEstrangeiraPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CidadeEstrangeiraPsqDtoAssync>(nameof(CidadeEstrangeiraPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CidadeNacionalPsqDto>(nameof(CidadeNacionalPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CidadeNacionalPsqDtoAssync>(nameof(CidadeNacionalPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CidadePsqDto>(nameof(CidadePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CidadePsqDtoAssync>(nameof(CidadePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoClientePsqDto>(nameof(ClassificacaoClientePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoClientePsqDtoAssync>(nameof(ClassificacaoClientePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoAtivoImobilizadoPsqDto>(nameof(ClassificacaoFiscalProdutoAtivoImobilizadoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoAtivoImobilizadoPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoAtivoImobilizadoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoFabricadoPsqDto>(nameof(ClassificacaoFiscalProdutoFabricadoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoFabricadoPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoFabricadoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoInsumoPsqDto>(nameof(ClassificacaoFiscalProdutoInsumoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoInsumoPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoInsumoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoMaterialUsoConsumoPsqDto>(nameof(ClassificacaoFiscalProdutoMaterialUsoConsumoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoMaterialUsoConsumoPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoMaterialUsoConsumoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoMercadoriaRevendaPsqDto>(nameof(ClassificacaoFiscalProdutoMercadoriaRevendaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoMercadoriaRevendaPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoMercadoriaRevendaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoOutroPsqDto>(nameof(ClassificacaoFiscalProdutoOutroPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoOutroPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoOutroPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoPsqDto>(nameof(ClassificacaoFiscalProdutoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalProdutoPsqDtoAssync>(nameof(ClassificacaoFiscalProdutoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalServicoEntradaPsqDto>(nameof(ClassificacaoFiscalServicoEntradaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalServicoEntradaPsqDtoAssync>(nameof(ClassificacaoFiscalServicoEntradaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalServicoSaidaPsqDto>(nameof(ClassificacaoFiscalServicoSaidaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFiscalServicoSaidaPsqDtoAssync>(nameof(ClassificacaoFiscalServicoSaidaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFornecedorPsqDto>(nameof(ClassificacaoFornecedorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClassificacaoFornecedorPsqDtoAssync>(nameof(ClassificacaoFornecedorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteContratoPsqDto>(nameof(ClienteContratoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteContratoPsqDtoAssync>(nameof(ClienteContratoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteContratoTipoPsqDto>(nameof(ClienteContratoTipoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteContratoTipoPsqDtoAssync>(nameof(ClienteContratoTipoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteEstrangeiroPsqDto>(nameof(ClienteEstrangeiroPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteEstrangeiroPsqDtoAssync>(nameof(ClienteEstrangeiroPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteFisicaPsqDto>(nameof(ClienteFisicaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteFisicaPsqDtoAssync>(nameof(ClienteFisicaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteFornecedorPsqDto>(nameof(ClienteFornecedorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteFornecedorPsqDtoAssync>(nameof(ClienteFornecedorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteGrupoEmpresarialFornecedorPsqDto>(nameof(ClienteGrupoEmpresarialFornecedorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteGrupoEmpresarialFornecedorPsqDtoAssync>(nameof(ClienteGrupoEmpresarialFornecedorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteGrupoEmpresarialPsqDto>(nameof(ClienteGrupoEmpresarialPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteGrupoEmpresarialPsqDtoAssync>(nameof(ClienteGrupoEmpresarialPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteGrupoPsqDto>(nameof(ClienteGrupoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteGrupoPsqDtoAssync>(nameof(ClienteGrupoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteJuridicaPsqDto>(nameof(ClienteJuridicaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteJuridicaPsqDtoAssync>(nameof(ClienteJuridicaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteLicencaLancamentoPsqDto>(nameof(ClienteLicencaLancamentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteLicencaLancamentoPsqDtoAssync>(nameof(ClienteLicencaLancamentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteLicencaSoftwarePsqDto>(nameof(ClienteLicencaSoftwarePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteLicencaSoftwarePsqDtoAssync>(nameof(ClienteLicencaSoftwarePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteLicencaTipoPsqDto>(nameof(ClienteLicencaTipoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteLicencaTipoPsqDtoAssync>(nameof(ClienteLicencaTipoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClienteObservacaoPendenciaPsqDto>(nameof(ClienteObservacaoPendenciaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteObservacaoPendenciaPsqDtoAssync>(nameof(ClienteObservacaoPendenciaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClientePsqDto>(nameof(ClientePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClientePsqDtoAssync>(nameof(ClientePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ClientePsqDtoEvento>(nameof(ClientePsqBoEvento)).EntityType.Page(null, null);
            builder.EntitySet<ClienteSetorPsqDto>(nameof(ClienteSetorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ClienteSetorPsqDtoAssync>(nameof(ClienteSetorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorHistoricoPsqDto>(nameof(ColaboradorHistoricoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorHistoricoPsqDtoAssync>(nameof(ColaboradorHistoricoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorHistoricoPsqDtoEvento>(nameof(ColaboradorHistoricoPsqBoEvento)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorPagamentoPsqDto>(nameof(ColaboradorPagamentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorPagamentoPsqDtoAssync>(nameof(ColaboradorPagamentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorPsqDto>(nameof(ColaboradorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorPsqDtoAssync>(nameof(ColaboradorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorTipoPagamentoPsqDto>(nameof(ColaboradorTipoPagamentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ColaboradorTipoPagamentoPsqDtoAssync>(nameof(ColaboradorTipoPagamentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ComissaoControlePsqDto>(nameof(ComissaoControlePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ComissaoControlePsqDtoAssync>(nameof(ComissaoControlePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ComissaoDisponivelPsqDto>(nameof(ComissaoDisponivelPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ComissaoDisponivelPsqDtoAssync>(nameof(ComissaoDisponivelPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ComissaoIndisponivelPsqDto>(nameof(ComissaoIndisponivelPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ComissaoIndisponivelPsqDtoAssync>(nameof(ComissaoIndisponivelPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ComissionadoPsqDto>(nameof(ComissionadoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ComissionadoPsqDtoAssync>(nameof(ComissionadoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CompraMovimentoPsqDto>(nameof(CompraMovimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CompraMovimentoPsqDtoAssync>(nameof(CompraMovimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CompraRecebimentoFuturoMovimentoPsqDto>(nameof(CompraRecebimentoFuturoMovimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CompraRecebimentoFuturoMovimentoPsqDtoAssync>(nameof(CompraRecebimentoFuturoMovimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConciliacaoBancariaExtratoParametroPsqDto>(nameof(ConciliacaoBancariaExtratoParametroPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConciliacaoBancariaExtratoParametroPsqDtoAssync>(nameof(ConciliacaoBancariaExtratoParametroPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConciliacaoBancariaExtratoPsqDto>(nameof(ConciliacaoBancariaExtratoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConciliacaoBancariaExtratoPsqDtoAssync>(nameof(ConciliacaoBancariaExtratoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CondicaoPagamentoReceitaPsqDto>(nameof(CondicaoPagamentoReceitaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CondicaoPagamentoReceitaPsqDtoAssync>(nameof(CondicaoPagamentoReceitaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CondicaoPagtoSaidaPsqDto>(nameof(CondicaoPagtoSaidaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CondicaoPagtoSaidaPsqDtoAssync>(nameof(CondicaoPagtoSaidaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteComponentePrestacaoPsqDto>(nameof(ConhecimentoTransporteComponentePrestacaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteComponentePrestacaoPsqDtoAssync>(nameof(ConhecimentoTransporteComponentePrestacaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoCartaCorrecaoPsqDto>(nameof(ConhecimentoTransporteEmitidoCartaCorrecaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoCartaCorrecaoPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoCartaCorrecaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoComplementarValoresPsqDto>(nameof(ConhecimentoTransporteEmitidoComplementarValoresPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoComplementarValoresPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoComplementarValoresPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoComumPsqDto>(nameof(ConhecimentoTransporteEmitidoComumPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoComumPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoComumPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoGlobalizadoPsqDto>(nameof(ConhecimentoTransporteEmitidoGlobalizadoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoGlobalizadoPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoGlobalizadoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoPsqDto>(nameof(ConhecimentoTransporteEmitidoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoSubContratacaoPsqDto>(nameof(ConhecimentoTransporteEmitidoSubContratacaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoSubContratacaoPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoSubContratacaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoSubstituicaoPsqDto>(nameof(ConhecimentoTransporteEmitidoSubstituicaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEmitidoSubstituicaoPsqDtoAssync>(nameof(ConhecimentoTransporteEmitidoSubstituicaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEntradaPsqDto>(nameof(ConhecimentoTransporteEntradaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteEntradaPsqDtoAssync>(nameof(ConhecimentoTransporteEntradaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteSeriePsqDto>(nameof(ConhecimentoTransporteSeriePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ConhecimentoTransporteSeriePsqDtoAssync>(nameof(ConhecimentoTransporteSeriePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ContabilidadeEmpresaContadorPsqDto>(nameof(ContabilidadeEmpresaContadorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ContabilidadeEmpresaContadorPsqDtoAssync>(nameof(ContabilidadeEmpresaContadorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ContabilidadeEmpresaPsqDto>(nameof(ContabilidadeEmpresaPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ContabilidadeEmpresaPsqDtoAssync>(nameof(ContabilidadeEmpresaPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ContasEmailPsqDto>(nameof(ContasEmailPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ContasEmailPsqDtoAssync>(nameof(ContasEmailPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleAcessoPsqDto>(nameof(ControleAcessoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleAcessoPsqDtoAssync>(nameof(ControleAcessoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoAdquirentePsqDto>(nameof(ControleCartaoAdquirentePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoAdquirentePsqDtoAssync>(nameof(ControleCartaoAdquirentePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoBandeiraPsqDto>(nameof(ControleCartaoBandeiraPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoBandeiraPsqDtoAssync>(nameof(ControleCartaoBandeiraPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoPsqDto>(nameof(ControleCartaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoPsqDtoAssync>(nameof(ControleCartaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoRecebimentoPsqDto>(nameof(ControleCartaoRecebimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCartaoRecebimentoPsqDtoAssync>(nameof(ControleCartaoRecebimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCashbackPsqDto>(nameof(ControleCashbackPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCashbackPsqDtoAssync>(nameof(ControleCashbackPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleChequePsqDto>(nameof(ControleChequePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleChequePsqDtoAssync>(nameof(ControleChequePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleChequeRecebimentoPsqDto>(nameof(ControleChequeRecebimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleChequeRecebimentoPsqDtoAssync>(nameof(ControleChequeRecebimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCustoComprasPsqDto>(nameof(ControleCustoComprasPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCustoComprasPsqDtoAssync>(nameof(ControleCustoComprasPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleCustoProducaoPsqDto>(nameof(ControleCustoProducaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleCustoProducaoPsqDtoAssync>(nameof(ControleCustoProducaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleGerencialComercialPsqDto>(nameof(ControleGerencialComercialPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControleGerencialComercialPsqDtoAssync>(nameof(ControleGerencialComercialPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControleGerencialComercialPsqDtoEvento>(nameof(ControleGerencialComercialPsqBoEvento)).EntityType.Page(null, null);
            builder.EntitySet<ControlePixPsqDto>(nameof(ControlePixPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControlePixPsqDtoAssync>(nameof(ControlePixPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<ControlePixRecebimentoPsqDto>(nameof(ControlePixRecebimentoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<ControlePixRecebimentoPsqDtoAssync>(nameof(ControlePixRecebimentoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CreditoClientePsqDto>(nameof(CreditoClientePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CreditoClientePsqDtoAssync>(nameof(CreditoClientePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CreditoFornecedorPsqDto>(nameof(CreditoFornecedorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CreditoFornecedorPsqDtoAssync>(nameof(CreditoFornecedorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CredorPsqDto>(nameof(CredorPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CredorPsqDtoAssync>(nameof(CredorPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoCartaCorrecaoPsqDto>(nameof(CteOsPassageiroEmitidoCartaCorrecaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoCartaCorrecaoPsqDtoAssync>(nameof(CteOsPassageiroEmitidoCartaCorrecaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoComplementarPsqDto>(nameof(CteOsPassageiroEmitidoComplementarPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoComplementarPsqDtoAssync>(nameof(CteOsPassageiroEmitidoComplementarPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoComumPsqDto>(nameof(CteOsPassageiroEmitidoComumPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoComumPsqDtoAssync>(nameof(CteOsPassageiroEmitidoComumPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoPsqDto>(nameof(CteOsPassageiroEmitidoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoPsqDtoAssync>(nameof(CteOsPassageiroEmitidoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoSubstituicaoPsqDto>(nameof(CteOsPassageiroEmitidoSubstituicaoPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CteOsPassageiroEmitidoSubstituicaoPsqDtoAssync>(nameof(CteOsPassageiroEmitidoSubstituicaoPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CteOsSeriePsqDto>(nameof(CteOsSeriePsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CteOsSeriePsqDtoAssync>(nameof(CteOsSeriePsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CupomFiscalSatPsqDto>(nameof(CupomFiscalSatPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CupomFiscalSatPsqDtoAssync>(nameof(CupomFiscalSatPsqBoAssync)).EntityType.Page(null, null);
            builder.EntitySet<CustomizacaoCadastroPsqDto>(nameof(CustomizacaoCadastroPsqBo)).EntityType.Page(null, null);
            builder.EntitySet<CustomizacaoCadastroPsqDtoAssync>(nameof(CustomizacaoCadastroPsqBoAssync)).EntityType.Page(null, null);
        }

Request/Response HTTP/1.1 GET http://localhost:5900/Pesquisa/$metadata No status code response.

Expected behavior Return the metadata XML correctly as in the first call.

Additional context

[10:09:56 ERR] An unhandled exception has occurred while executing the request.
System.InvalidOperationException: An asynchronous operation is already in progress.
   at System.Xml.XmlAsyncCheckWriter.CheckAsync()
   at Microsoft.OData.Edm.Csdl.Serialization.EdmModelCsdlSchemaXmlWriter.WriteEndElementAsync()
   at Microsoft.OData.Edm.Csdl.Serialization.EdmModelCsdlSerializationVisitor.VisitEdmSchemaAsync(EdmSchema element, IEnumerable`1 mappings)
   at Microsoft.OData.Edm.Csdl.CsdlXmlWriter.WriteSchemasAsync()
   at Microsoft.OData.Edm.Csdl.CsdlXmlWriter.WriteODataCsdlAsync()
   at Microsoft.OData.Edm.Csdl.CsdlXmlWriter.WriteCsdlAsync()
   at Microsoft.OData.Edm.Csdl.CsdlWriter.TryWriteCsdlAsync(IEdmModel model, XmlWriter writer, CsdlTarget target, CsdlXmlWriterSettings writerSettings)
   at Microsoft.OData.ODataMetadataOutputContext.WriteMetadataDocumentImplementationAsync()
   at Microsoft.OData.ODataMetadataOutputContext.WriteMetadataDocumentAsync()
   at Microsoft.OData.ODataMessageWriter.WriteToOutputAsync(ODataPayloadKind payloadKind, Func`2 writeAsyncAction)
   at Microsoft.AspNetCore.OData.Formatter.Serialization.ODataMetadataSerializer.WriteObjectAsync(Object graph, Type type, ODataMessageWriter messageWriter, ODataSerializerContext writeContext)
   at Microsoft.AspNetCore.OData.Formatter.ODataOutputFormatterHelper.WriteToStreamAsync(Type type, Object value, IEdmModel model, ODataVersion version, Uri baseAddress, MediaTypeHeaderValue contentType, HttpRequest request, IHeaderDictionary requestHeaders, IODataSerializerProvider serializerProvider)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultAsync>g__Logged|22_0(ResourceInvoker invoker, IActionResult result)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultFilters>g__Awaited|28_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|7_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
julealgon commented 2 weeks ago

Asking just in case: are you sure it is ok to publicly expose this many names/folders/identifiers/strings from your project?

julealgon commented 2 weeks ago

Duplicate of:

Molinware commented 2 weeks ago

Asking just in case: are you sure it is ok to publicly expose this many names/folders/identifiers/strings from your project?

I don't belive it would generate any problem for us, but I've removed the screenshots. If more info is necessary please let me know.

xuzhg commented 2 weeks ago

It should be fixed in https://github.com/OData/odata.net/pull/3081. @WanjohiSammy OData hasn't released a new AspNetCore.OData nuget package to consume that changes. of course, OData team should release a new version of AspNetCore.OData.

@Molinware Before the new version, can you manually update the OData.Core dependency version to 9.1.0 in your project to see whether the fix in ODL 9.1.0 works?

Molinware commented 2 weeks ago

Yes, can you point me to where can I download it? Asking because in the nuget package manager the last version is 8.1.0: image

WanjohiSammy commented 2 weeks ago

Yes, can you point me to where can I download it? Asking because in the nuget package manager the last version is 8.1.0: image

@Molinware 8.1.0 is the one. Please update OData.Core to 8.1.0 and test.

Molinware commented 2 weeks ago

Confirmed, working with AspNetCore.Odata 9.0.0 and OData.Core to 8.1.0.