Различные типы Id при выставлении DTO над WCF - PullRequest
2 голосов
/ 02 июня 2010

Допустим, у нас есть простой DTO со свойствами Id, Name. Если этот DTO поступает из базы данных через некоторый уровень данных, Id должен иметь тип int. Если этот DTO поступает из Active Directory через некоторый уровень данных, Id должен иметь тип Guid.

Как лучше всего это реализовать?

1 Ответ

0 голосов
/ 04 февраля 2011

Самый простой способ - просто иметь два свойства, каждое из которых имеет соответствующий тип:

public Guid ActiveDirectoryID {get;set;};

public int DatabaseID {get;set;};

В качестве альтернативы вы можете определить свойство ID как объект и реализовать его с перегруженными GetID() и SetID() для обоих типов.

Возможно, но нетривиально конвертировать между типами Guid и Int.

...