Для начала вот мои классы:
public class Name
{
public int NameId {get;set;}
public string Value {get;set;}
[ForeignKey("Name_NameId")]
public ICollection<PersonName> PersonsName {get;set;}
}
public class NameType
{
public int NameTypeId {get;set;}
public string Value {get;set;}
[ForeignKey("NameType_NameTypeId")]
public ICollection<PersonName> PersonsName {get;set;}
}
public class Person
{
public int PersonId {get;set;}
public string Suffix {get;set;}
public datetime DateOfBirth {get;set;}
[ForeignKey("Person_PersonId")]
public ICollection<PersonName> PersonsName {get;set;}
}
public class PersonName
{
public int Person_PersonId {get;set;}
public int Name_NameId {get;set;}
public int NameType_NameTypeId {get;set;}
public int Order {get;set;}
}
В идеале при доступе к классу Person я хотел бы иметь возможность вызывать функцию (или свойство), которая могла бы получить полное имя человека из репозитория PersonName. Однако я не совсем уверен, как это сделать. Для примера данных в этих таблицах:
NameId Value
1 John
2 Jacob
3 Jingleheimer
4 Schmidt
NameTypeId Value
1 First Name
2 Middle Name
3 Last Name
4 Nickname
PersonId Suffix DateOfBirth
1 01/01/1900
Person_PersonId Name_NameId NameType_NameTypeId Order
1 1 1 0
1 2 2 0
1 3 2 1
1 4 3 0
Итак, в классе Person я хотел бы иметь функцию/свойство, например GetFullName()/FullName, где оно будет возвращать «John Jacomb Jingleheimer Schmidt». Я работал над учебным пособием с нуля, и после создания каждого класса они затем создают интерфейс, mockrepository и работают над репозиторием db. Однако я хотел бы передать информацию в представление через модель представления, но я не уверен, как связать класс с репозиторием и т. д. Есть ли кто-нибудь, кто может указать мне учебник, который может объяснить, что лучший или по буквам это для меня? Спасибо.
PersonName
. Затем вы можете перейти отPerson
черезPersonName
черезMissingNameNavigationProperty
к свойствуValue
. - person Christian Gollhardt   schedule 01.07.2019