Użyj współdzielonego typu danych jako DataContract w WCF

Z tego, co widzę, muszę utworzyć „specjalny” typ danych dla każdego rodzaju danych, które chcę przesłać przez WCF, więc jeśli mam klasę współdzieloną, taką jak

public class District
{
    public long Id { get; set; }
    public string Name { get; set; }
}

i chcę wysłać obiekt District przy użyciu WCF, muszę utworzyć kontrakt datacontract i dlatego muszę utworzyć nową klasę WCF

[DataContract]
public class WCFDistrict
{
    [DataMember]
    public long Id { get; set; }

    [DataMember]
    public string Name { get; set; }
}

A kiedy używam go w usłudze WCF w mojej implementacji, muszę analizować dane z jednego obiektu na drugi

public WCFDistrict GetDistrict(long id)
{
    var district = _districtRepository.GetDistrict(id);
    return new WCFDistrict {Id = district.Id, Name = district.Name};
}

Czy jest jakaś metoda ponownego użycia współużytkowanej klasy jako DataContract, bez posiadania na niej tych atrybutów? Czy powinienem utworzyć interfejs na klasach, które mogą udostępniać, aby móc po prostu rzucić je między nimi? Albo coś trzeciego?

questionAnswers(2)

yourAnswerToTheQuestion