Не самое чистое решение, но вы можете добавить дополнительное свойство через частичный класс:
partial class Person
{
public Person Friend
{
get { return this.Person1; }
set { this.Person1 = value; }
}
}
Это также моя стандартная процедура для размещения строго типизированных свойств перечисления над числовыми полями.
Любые другие решения, такие как взлом с автоматически сгенерированным кодом, обычно начинают разваливаться, потому что вы постоянно перегенерируете код каждый раз, когда вносите изменения в схему.
Вариант - начать использовать EF (я думаю, что они там решили эту проблему), но это все равно, что пытаться лечить зуд на руке, смахивая его дробовиком.