我正在尝试进行映射以显示一个实体内部的值,该实体位于另一个实体内部的另一个实体内部,顺序是“软管”>“设备”>“制造商”>“RazaoSocial”,但是不是我可以让它正常工作。
我正在尝试这样做:
cfg.CreateMap<MangueiraDaOrdemDeServico, MangueiraDaOrdemDeServicoDTO>()
.ForMember(to => to.FabricanteNome, from => from.MapFrom(src => src.Mangueira.Fabricante.RazaoSocial));
我完整的DTO:
using AutoMapper;
using SGE.Extintor.Domain.Administrativo.Entities;
using SGE.Extintor.Domain.Oficina.Entities;
using SGE.Publico.Domain.Entities;
using System.Collections.Generic;
using System.Linq;
namespace SGE.Extintor.Application.Oficina.DTO
{
public class MangueiraDaOrdemDeServicoDTO
{
public MangueiraDaOrdemDeServicoDTO()
{
this.Valores = new List<ValorServicoMangueiraDTO>();
}
public int? Id { get; set; }
public int? MangueiraId { get; set; }
public int? OrdemDeServicoDaMangueiraId { get; set; }
public string Descricao { get; set; }
public string NumeroMangueira { get; set; }
public string FabricanteNome { get; set; }
public string NumeroAbrigo { get; set; }
public int OrdemDeExibicao { get; set; }
public string Status { get; set; }
public string StatusCode { get; set; }
public string StatusClassLabel { get; set; }
public int TipoDeManutencao { get; set; }
public string TipoDeManutencaoDisplayName { get; set; }
public ICollection<ValorServicoMangueiraDTO> Valores { get; set; }
public decimal Total
{
get
{
return this.Valores?.Sum(x => x.Valor) ?? 0;
}
}
#region Mapping
internal static void Mapper(IMapperConfiguration cfg)
{
cfg.CreateMap<MangueiraDaOrdemDeServico, MangueiraDaOrdemDeServicoDTO>()
.ForAllMembers(to => to.Ignore());
cfg.CreateMap<MangueiraDaOrdemDeServico, MangueiraDaOrdemDeServicoDTO>()
.ForMember(to => to.Status, from => from.MapFrom(src => src.Inspecao.Status.DisplayName))
.ForMember(to => to.StatusCode, from => from.MapFrom(src => src.Inspecao.Status.Code))
.ForMember(to => to.StatusClassLabel, from => from.MapFrom(src => src.Inspecao.Status.ClassLabel))
.ForMember(to => to.OrdemDeServicoDaMangueiraId, from => from.MapFrom(src => src.OrdemDeServicoDaMangueiraId))
.ForMember(to => to.OrdemDeExibicao, from => from.MapFrom(src => src.OrdemDeExibicao))
.ForMember(to => to.MangueiraId, from => from.MapFrom(src => src.MangueiraId))
.ForMember(to => to.NumeroMangueira, from => from.MapFrom(src => src.Mangueira.NumeroMangueira))
.ForMember(to => to.FabricanteId, from => from.MapFrom(src => src.Mangueira.FabricanteId))
.ForMember(to => to.FabricanteNome, from => from.MapFrom(src => src.Mangueira.Fabricante.RazaoSocial))
.ForMember(to => to.NumeroAbrigo, from => from.MapFrom(src => src.Mangueira.NumeroAbrigo))
.ForMember(to => to.Descricao, from => from.MapFrom(src => src.Mangueira.Descricao))
.ForMember(to => to.Id, from => from.MapFrom(src => src.Id))
.ForMember(to => to.TipoDeManutencaoDisplayName, from => from.MapFrom(src => src.Inspecao.TipoDeManutencao.DisplayName))
.ForMember(to => to.TipoDeManutencao, from => from.MapFrom(src => src.Inspecao.TipoDeManutencaoCode))
.ForMember(to => to.Total, from => from.Ignore())
.ForMember(to => to.Valores, from => from.Ignore());
cfg.CreateMap<MangueiraDaOrdemDeServicoDTO, MangueiraDaOrdemDeServico>()
.ForMember(to => to.OrdemDeServicoDaMangueiraId, from => from.MapFrom(src => src.OrdemDeServicoDaMangueiraId))
.ForMember(to => to.MangueiraId, from => from.MapFrom(src => src.MangueiraId))
.ForMember(to => to.Inspecao, from => from.Ignore())
.ForMember(to => to.Mangueira, from => from.Ignore())
.ForMember(to => to.ItemPedidoDeManutencao, from => from.Ignore())
.ForMember(to => to.ItemPedidoDeManutencaoId, from => from.Ignore())
.ForMember(to => to.Valores, from => from.Ignore())
.ForMember(to => to.OrdemDeServicoDaMangueira, from => from.Ignore());
cfg.CreateMap<Mangueira, MangueiraDaOrdemDeServicoDTO>()
.ForMember(to => to.FabricanteNome, from => from.Ignore())
.ForMember(to => to.Descricao, from => from.MapFrom(src => src.Descricao))
.ForMember(to => to.NumeroAbrigo, from => from.MapFrom(src => src.NumeroAbrigo))
.ForMember(to => to.NumeroMangueira, from => from.MapFrom(src => src.NumeroMangueira))
.ForMember(to => to.MangueiraId, from => from.MapFrom(src => src.Id))
.ForMember(to => to.OrdemDeServicoDaMangueiraId, from => from.Ignore())
.ForMember(to => to.OrdemDeExibicao, from => from.Ignore())
.ForMember(to => to.Status, from => from.Ignore())
.ForMember(to => to.StatusClassLabel, from => from.Ignore())
.ForMember(to => to.StatusCode, from => from.Ignore())
.ForMember(to => to.TipoDeManutencaoDisplayName, from => from.Ignore())
.ForMember(to => to.TipoDeManutencao, from => from.Ignore())
.ForMember(to => to.Total, from => from.Ignore())
.ForMember(to => to.Valores, from => from.Ignore())
.AfterMap((src, dest) => dest.TipoDeManutencao = src.GetTipoManutencao().Code)
.AfterMap((src, dest) => dest.TipoDeManutencaoDisplayName = src.GetTipoManutencao().DisplayName);
cfg.CreateMap<MangueiraDaOrdemDeServicoDTO, Mangueira>()
.ForAllMembers(to => to.Ignore());
cfg.CreateMap<MangueiraDaOrdemDeServicoDTO, Mangueira>()
.ForMember(to => to.Descricao, from => from.MapFrom(src => src.Descricao))
.ForMember(to => to.NumeroAbrigo, from => from.MapFrom(src => src.NumeroAbrigo))
.ForMember(to => to.NumeroMangueira, from => from.MapFrom(src => src.NumeroMangueira))
.ForMember(to => to.Id, from => from.MapFrom(src => src.MangueiraId));
}
#endregion
}
}
MangueiraDaOrdemDeServico 实体:
using Framework.Domain.Audit.Attribute;
using Framework.Domain.Entities;
using Framework.Domain.Interfaces.Entities;
using SGE.Extintor.Domain.Administrativo.Entities;
using SGE.Extintor.Domain.Common.Enumerations;
using System.Collections.Generic;
namespace SGE.Extintor.Domain.Oficina.Entities
{
//[Auditable(EnumIndexEntityAudit.MangueiraDaOrdemDeServico)]
public class MangueiraDaOrdemDeServico : BaseEntity<int>
{
public MangueiraDaOrdemDeServico()
{
this.Valores = new List<ValorServicoMangueira>();
}
public int OrdemDeServicoDaMangueiraId { get; set; }
public int OrdemDeExibicao { get; set; }
[IgnoreAuditable]
public OrdemDeServicoDaMangueira OrdemDeServicoDaMangueira { get; set; }
public int MangueiraId { get; set; }
[IgnoreAuditable]
public Mangueira Mangueira { get; set; }
[IgnoreAuditable]
public InspecaoDaMangueira Inspecao { get; set; }
public int? ItemPedidoDeManutencaoId { get; set; }
[IgnoreAuditable]
public ItemPedidoManutencaoMangueira ItemPedidoDeManutencao { get; set; }
public ICollection<ValorServicoMangueira> Valores { get; set; }
public static MangueiraDaOrdemDeServico Gerar(int ordemDeExibicao,ItemPedidoManutencaoMangueira itemPedidoDeManutencao, Mangueira mangueira, OrdemDeServicoDaMangueira ordemDeServicoDaMangueira)
{
MangueiraDaOrdemDeServico mangueiraDaOS = new MangueiraDaOrdemDeServico();
mangueiraDaOS.OrdemDeExibicao = ordemDeExibicao;
mangueiraDaOS.Mangueira = mangueira;
mangueiraDaOS.MangueiraId = mangueira.Id;
mangueiraDaOS.OrdemDeServicoDaMangueira = ordemDeServicoDaMangueira;
mangueiraDaOS.OrdemDeServicoDaMangueiraId = ordemDeServicoDaMangueira.Id;
mangueiraDaOS.ItemPedidoDeManutencao = itemPedidoDeManutencao;
mangueiraDaOS.ItemPedidoDeManutencaoId = itemPedidoDeManutencao.Id;
return mangueiraDaOS;
}
}
}
曼格拉实体:
using Framework.Domain.Audit.Attribute;
using Framework.Domain.Common.Enum;
using SGE.Extintor.Domain.Common.Enumerations;
using SGE.Extintor.Domain.Oficina.Entities;
using SGE.Extintor.Domain.Common.Internationalization;
using SGE.Publico.Domain.Common.Enumerations;
using SGE.Publico.Domain.Common.Exceptions;
using SGE.Publico.Domain.Entities;
using System;
using System.Text.RegularExpressions;
using SGE.Extintor.Domain.Common.Enumerations.Relatorios;
using System.Security.Policy;
using System.Collections.Generic;
using System.Linq;
namespace SGE.Extintor.Domain.Administrativo.Entities
{
[Auditable(EnumIndexEntityAudit.Mangueira)]
public class Mangueira : Equipamento
{
[IgnoreAuditable]
public override string Descricao
{
get
{
if ((this.Tipo == null) || (!this.TipoId.HasValue) || (this.ComprimentoNominal == 0) || (string.IsNullOrEmpty(this.Diametro)) || (string.IsNullOrWhiteSpace(this.Diametro)))
return null;
return $"{this.Tipo.Descricao} {this.Diametro} {this.ComprimentoNominal}";
}
}
public string NumeroMangueira { get; set; }
public string NumeroAbrigo { get; set; }
public int? FabricanteUniaoId { get; set; }
[IgnoreAuditable]
public Fabricante FabricanteUniao { get; set; }
public string Diametro { get; set; }
public decimal ComprimentoNominal { get; set; }
public decimal ComprimentoReal { get; set; }
public int? TipoId { get; set; }
[IgnoreAuditable]
public TipoMangueira Tipo { get; set; }
public decimal PressaoDeEnsaio { get; set; }
public DateTime? ProximaInspecao { get; set; }
public DateTime? UltimaInspecao { get; set; }
public DateTime? ProximaManutencao { get; set; }
public DateTime? UltimaManutencao { get; set; }
public string SituacaoId { get; set; }
[IgnoreAuditable]
public SituacaoEquipamento Situacao { get; set; }
public int? NumeroUltimaOS { get; set; }
public int? UltimaOSId { get; set; }
[IgnoreAuditable]
public OrdemDeServicoDaMangueira UltimaOS { get; set; }
public string FinalidadeDoEquipamentoCode
{
get
{
return FinalidadeDoEquipamento?.Code;
}
set
{
if (!string.IsNullOrEmpty(value))
FinalidadeDoEquipamento = Enumeration.From<EnumFinalidadeDoEquipamento>(item => value == item.Code);
else
FinalidadeDoEquipamento = null;
}
}
[IgnoreAuditable]
public EnumFinalidadeDoEquipamento FinalidadeDoEquipamento { get; set; }
/*public string Localizacao { get; set; }*/
public string TempoDeInspecaoEManutencaoPadraoCode
{
get
{
return TempoDeInspecaoEManutencaoPadrao?.Code;
}
set
{
if (!string.IsNullOrEmpty(value))
TempoDeInspecaoEManutencaoPadrao = Enumeration.From<EnumSimOuNao>(item => value == item.Code);
else
TempoDeInspecaoEManutencaoPadrao = null;
}
}
[IgnoreAuditable]
public EnumSimOuNao TempoDeInspecaoEManutencaoPadrao { get; set; }
public int? TempoDeInspecaoExclusivo { get; set; }
public int? TempoDeManutencaoExclusivo { get; set; }
public int? ParceiroCorporativoId { get; set; }
public int? MangueiraCorporativoId { get; set; }
public DateTime? UltimaInspecaoVisual { get; set; }
#region Metodos
public EnumTipoDeManutencaoInspecaoDaMangueira GetTipoManutencao(int? mes = null, int? ano = null)
{
EnumTipoDeManutencaoInspecaoDaMangueira tipo = null;
if (!this.ProximaInspecao.HasValue || !this.ProximaManutencao.HasValue)
return EnumTipoDeManutencaoInspecaoDaMangueira.Manutencao;
DateTime? proximaInspecao = new DateTime(this.ProximaInspecao.Value.Year, this.ProximaInspecao.Value.Month, 1);
DateTime? proximaManutencao = new DateTime(this.ProximaManutencao.Value.Year, this.ProximaManutencao.Value.Month, 1);
DateTime data;
if (mes.HasValue || ano.HasValue)
data = new DateTime(ano.Value, mes.Value, 1);
else
data = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
int intervalorMan = (int)this.DiasVencimentoProximaManutencao;
if (intervalorMan <= 30)
tipo = EnumTipoDeManutencaoInspecaoDaMangueira.Manutencao;
else
tipo = EnumTipoDeManutencaoInspecaoDaMangueira.Inspecao;
//if (data >= proximaManutencao)
// tipo = EnumTipoDeManutencaoInspecaoDaMangueira.Manutencao;
//else
// tipo = EnumTipoDeManutencaoInspecaoDaMangueira.Inspecao;
return tipo;
}
[IgnoreAuditable]
public int? DiasVencimentoProximaInspecao
{
get
{
if (this.ProximaInspecao.HasValue)
{
TimeSpan result = this.ProximaInspecao.Value - DateTime.Now.Date;
return result.Days;
}
else
{
return null;
}
}
}
[IgnoreAuditable]
public int? DiasVencimentoProximaManutencao
{
get
{
if (this.ProximaManutencao.HasValue)
{
TimeSpan result = this.ProximaManutencao.Value - DateTime.Now.Date;
return result.Days;
}
else
{
return null;
}
}
}
[IgnoreAuditable]
public EnumOrdemVencimento Status
{
get
{
int dias = -1;
if (this.DiasVencimentoProximaInspecao.HasValue && this.DiasVencimentoProximaManutencao.HasValue)
{
if (this.DiasVencimentoProximaInspecao <= this.DiasVencimentoProximaManutencao)
{
dias = this.DiasVencimentoProximaInspecao.Value;
}
else if (this.DiasVencimentoProximaManutencao <= this.DiasVencimentoProximaInspecao)
{
dias = this.DiasVencimentoProximaManutencao.Value;
}
if (dias > EnumOrdemVencimento.AVencer.Dias)
return EnumOrdemVencimento.AVencer;
else if (dias >= EnumOrdemVencimento.Vencidas.Dias && dias <= EnumOrdemVencimento.AVencer30Dias.Dias)
return EnumOrdemVencimento.AVencer30Dias;
else
return EnumOrdemVencimento.Vencidas;
}
else
{
return EnumOrdemVencimento.DataNaoInformada;
}
}
}
public void Atualizar(ItemPedidoManutencaoMangueira item, int clienteId, int responsavelId, int unidadeOrganizacionalId)
{
ClienteId = clienteId;
ResponsavelId = responsavelId;
MangueiraCorporativoId = item.MngCorpId;
ParceiroCorporativoId = item.PedidoManutencao.ParceiroCorporativoId;
UnidadeOrganizacionalDoClienteId = unidadeOrganizacionalId;
NumeroMangueira = item.MngCorpNumero;
NumeroAbrigo = item.MngCorpNumeroAbrigo;
FabricanteId = item.MngCorpFabricante.Value;
FabricanteUniaoId = item.MngCorpFabricanteUniaoId;
Diametro = item.MngCorpDiametro;
ComprimentoNominal = item.MngCorpComprimentoNominal;
ComprimentoReal = item.MngCorpComprimentoReal;
TipoId = item.MngCorpTipoId;
Fabricacao = item.MngCorpFabricacao;
PressaoDeEnsaio = item.MngCorpPressaoEnsaio;
ProximaInspecao = item.MngCorpProximaInspecao;
ProximaManutencao = item.MngCorpProximaManutencao;
UltimaInspecao = item.MngCorpUltimaInspecao;
UltimaManutencao = item.MngCorpUltimaManutencao;
Localizacao = item.MngCorpLocalizacaoNome;
SituacaoId = item.MngCorpSituacao;
TempoDeInspecaoEManutencaoPadrao = EnumSimOuNao.Sim;
}
public static Mangueira Gerar(ItemPedidoManutencaoMangueira item, int clienteId, int responsavelId, int unidadeOrganizacionalId)
{
Mangueira mangueira = new Mangueira();
mangueira.ClienteId = clienteId;
mangueira.ResponsavelId = responsavelId;
mangueira.MangueiraCorporativoId = item.MngCorpId;
mangueira.ParceiroCorporativoId = item.PedidoManutencao.ParceiroCorporativoId;
mangueira.UnidadeOrganizacionalDoClienteId = unidadeOrganizacionalId;
mangueira.NumeroMangueira = item.MngCorpNumero;
mangueira.NumeroAbrigo = item.MngCorpNumeroAbrigo;
mangueira.FabricanteId = item.MngCorpFabricante.Value;
mangueira.FabricanteUniaoId = item.MngCorpFabricanteUniaoId;
mangueira.Diametro = item.MngCorpDiametro;
mangueira.ComprimentoNominal = item.MngCorpComprimentoNominal;
mangueira.ComprimentoReal = item.MngCorpComprimentoReal;
mangueira.TipoId = item.MngCorpTipoId;
mangueira.Fabricacao = item.MngCorpFabricacao;
mangueira.PressaoDeEnsaio = item.MngCorpPressaoEnsaio;
mangueira.ProximaInspecao = item.MngCorpProximaInspecao;
mangueira.ProximaManutencao = item.MngCorpProximaManutencao;
mangueira.UltimaInspecao = item.MngCorpUltimaInspecao;
mangueira.UltimaManutencao = item.MngCorpUltimaManutencao;
mangueira.Localizacao = item.MngCorpLocalizacaoNome;
mangueira.SituacaoId = item.MngCorpSituacao;
mangueira.TempoDeInspecaoEManutencaoPadrao = EnumSimOuNao.Sim;
return mangueira;
}
}
}
设备实体:
using Framework.Domain.Audit.Attribute;
using Framework.Domain.Entities;
using Framework.Domain.Interfaces.Entities;
using SGE.Extintor.Domain.Common.DTO;
using SGE.Extintor.Domain.Common.Enumerations;
using SGE.Global.Domain.Administrativo.Entities;
using SGE.Publico.Domain.Common.Exceptions;
using SGE.Publico.Domain.Entities;
using System;
namespace SGE.Extintor.Domain.Administrativo.Entities
{
[Auditable(EnumIndexEntityAudit.Equipamento)]
public abstract class Equipamento : BaseEntity<int>
{
public abstract string Descricao { get;}
public int ClienteId { get; set; }
public Cliente Cliente { get; set; }
public int ResponsavelId { get; set; }
[IgnoreAuditable]
public RecursoHumanoDoCliente Responsavel { get; set; }
public int UnidadeOrganizacionalDoClienteId { get; set; }
[IgnoreAuditable]
public UnidadeOrganizacionalDoCliente UnidadeOrganizacionalDoCliente { get; set; }
public string Localizacao { get; set; }
public int FabricanteId { get; set; }
[IgnoreAuditable]
public Fabricante Fabricante { get; set; }
public DateTime? Fabricacao { get; set; }
public DateTime Cadastro { get; set; }
[IgnoreAuditable]
public EquipamentoDTO DTO { get { return new EquipamentoDTO { Id = Id, Descricao = Descricao }; } }
#region Metodos
public void SetId(int id) => Id = id;
private bool validarCliente()
{
return this.ClienteId > 0;
}
private bool validarUnidadeId()
{
return this.UnidadeOrganizacionalDoClienteId > 0;
}
private bool validarResponsavelId()
{
return this.ResponsavelId > 0;
}
private bool validarFabricanteId()
{
return this.FabricanteId > 0;
}
public void ValidarInsertUpdate()
{
if (!validarCliente())
throw new RequiredFieldException(nameof(this.ClienteId));
if (!validarUnidadeId())
throw new RequiredFieldException(nameof(this.UnidadeOrganizacionalDoClienteId));
if (!validarResponsavelId())
throw new RequiredFieldException(nameof(this.ResponsavelId));
if (!validarFabricanteId())
throw new RequiredFieldException(nameof(this.FabricanteId));
}
#endregion Metodos
}
}
Fabricante 实体:
using System.Collections.Generic;
using System.IO;
using Framework.Domain.Common.Enum;
using Framework.Domain.Entities;
using SGE.Publico.Domain.Common.Enumerations;
using SGE.Publico.Domain.Common.Exceptions;
using SGE.Publico.Domain.Common.Internationalization;
using SGE.Publico.Domain.Common.ValidatorExtensions;
namespace SGE.Publico.Domain.Entities
{
public class Fabricante : BaseEntity<int>
{
public string NomeFantasia { get; set; }
public string RazaoSocial { get; set; }
public string SiglaImpressao { get; set; }
public string Telefone { get; set; }
public string CNPJ { get; set; }
public string Endereco { get; set; }
public string NumeroEndereco { get; set; }
public string Complemento { get; set; }
public string Bairro { get; set; }
public string CEP { get; set; }
public int? CidadeId { get; set; }
public Cidade Cidade { get; set; }
public string NomeContato { get; set; }
public string EmailContato { get; set; }
public string AbrigoCode { get; set; }
public string HidranteCode { get; set; }
public string BotoeiraCode { get; set; }
public string ExtintorCode { get; set; }
public string KitEmergenciaCode { get; set; }
public string MangueiraCode { get; set; }
public string OffRoadCode { get; set; }
public string UniaoCode { get; set; }
public string CilindroArCode { get; set; }
public string LuminariaEmergenciaCode { get; set; }
public string CasaBombaCode { get; set; }
public ICollection<ConsumoLGE> ConsumosLGE { get; set; }
public EnumSimOuNao Abrigo
{
get
{
return Enumeration.From((EnumSimOuNao item) => AbrigoCode == item.Code);
}
set
{
AbrigoCode = value?.Code;
}
}
public EnumSimOuNao Botoeira
{
get
{
return Enumeration.From((EnumSimOuNao item) => BotoeiraCode == item.Code);
}
set
{
BotoeiraCode = value?.Code;
}
}
public EnumSimOuNao Hidrante
{
get
{
return Enumeration.From((EnumSimOuNao item) => HidranteCode == item.Code);
}
set
{
HidranteCode = value?.Code;
}
}
public EnumSimOuNao Extintor
{
get
{
return Enumeration.From((EnumSimOuNao item) => ExtintorCode == item.Code);
}
set
{
ExtintorCode = value?.Code;
}
}
public EnumSimOuNao KitEmergencia
{
get
{
return Enumeration.From((EnumSimOuNao item) => KitEmergenciaCode == item.Code);
}
set
{
KitEmergenciaCode = value?.Code;
}
}
public EnumSimOuNao Mangueira
{
get
{
return Enumeration.From((EnumSimOuNao item) => MangueiraCode == item.Code);
}
set
{
MangueiraCode = value?.Code;
}
}
public EnumSimOuNao OffRoad
{
get
{
return Enumeration.From((EnumSimOuNao item) => OffRoadCode == item.Code);
}
set
{
OffRoadCode = value?.Code;
}
}
public EnumSimOuNao Uniao
{
get
{
return Enumeration.From((EnumSimOuNao item) => UniaoCode == item.Code);
}
set
{
UniaoCode = value?.Code;
}
}
public EnumSimOuNao CilindroAr
{
get
{
return Enumeration.From((EnumSimOuNao item) => CilindroArCode == item.Code);
}
set
{
CilindroArCode = value?.Code;
}
}
public EnumSimOuNao LuminariaEmergencia
{
get
{
return Enumeration.From((EnumSimOuNao item) => LuminariaEmergenciaCode == item.Code);
}
set
{
LuminariaEmergenciaCode = value?.Code;
}
}
public EnumSimOuNao CasaBomba
{
get
{
return Enumeration.From((EnumSimOuNao item) => CasaBombaCode == item.Code);
}
set
{
CasaBombaCode = value?.Code;
}
}
public Fabricante()
{
}
public Fabricante(int id)
{
Id = id;
}
private bool validarId()
{
return Id > 0;
}
}
}
我只是不知道如何让它发挥作用。
正如我所提到的,您没有在“Gerar”方法中填充对象“Inspecao”,但您尝试在映射中使用它。可能是这里发生了错误。