Para que serve [DataContract] em cima da classe e [DataMember] em cima da propriedade Id?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Para que serve [DataContract] em cima da classe e [DataMember] em cima da propriedade Id?
Um [DataContract] é um contrato formal entre um serviço e um cliente que descreve abstratamente os dados a serem trocados. Ou seja, para se comunicar, o cliente e o serviço não precisam compartilhar os mesmos tipos, apenas os mesmos contratos de dados.
[DataMember] é aplicado ao membro de um tipo, especifica que o membro faz parte de um contrato de dados e é serializável pelo DataContractSerializer .