Используйте общий тип данных как DataContract в WCF
Из того, что я вижу, я должен создатьспециальный" тип данных для каждого вида данных, которые я хочу передать через WCF, поэтому, если у меня есть общий класс, например
public class District
{
public long Id { get; set; }
public string Name { get; set; }
}
и я хочу отправить объект District с помощью WCF, мне нужно создать datacontract и, следовательно, я должен создать новый класс WCF
[DataContract]
public class WCFDistrict
{
[DataMember]
public long Id { get; set; }
[DataMember]
public string Name { get; set; }
}
И затем, когда я использую его в сервисе WCF в моей реализации, я должен проанализировать данные из одного объекта в другой
public WCFDistrict GetDistrict(long id)
{
var district = _districtRepository.GetDistrict(id);
return new WCFDistrict {Id = district.Id, Name = district.Name};
}
Есть ли способ просто повторно использовать общий класс как DataContract, не имея этих атрибутов на нем? Или я должен создать интерфейс для классов, которыми они могут поделиться, чтобы я мог просто разыграть его между ними? Или что-то третье?