Я работаю над приложением планирования событий для контактов в телефонной книге. Избежать все public virtual
и protected
вещи, мой Contact
класс выглядит следующим образом:Любое сопоставление типов с разными типами идентификаторов
class Contact {
//...
Int32 Id { get; private set; } //primary key;
String Name { get; private set; }
//...
}
Клиент попросил меня обрабатывать как свою собственную телефонную книгу и один мое приложение. Поэтому я решил извлечь интерфейс IContact
с Contact
и добавить еще один класс InternalContact
(это имя отстой, я знаю), реализуя тот же интерфейс. Проблема заключается в том, что db клиента использует назначенную строку в качестве первичного ключа, поэтому тип идентификатора Contact
'' и тип идентификатора InternalContact
будут разными. Возможно ли сопоставить свойство Invitation.Contact
, используя сопоставление типа <any>
, даже разные типы идентификаторов?
Спасибо заранее, Джулио
Generic? Умм ... звучит интересно. ;-) Но это возможно? Что мне следует записывать в файл сопоставления? Любая ссылка на любой пример об этой технике? Благодарю. – petrux
Да, это возможно. Вот ссылка на введение: http://msdn.microsoft.com/en-us/library/ms379564(VS.80).aspx – spinon
Кажется, что вы не получили «ядро» моего вопроса: Я знаю, что такое дженерики, я не знаю, как реализовать полиморфное сопоставление с NHibernate, где идентификаторы объектов имеют разные типы. Или, может быть, я что-то упустил? – petrux