Надеюсь, я правильно понял ваши вопросы
Я сделал некоторые предположения, хотя
Я использовал ваши классы для создания базы данных и запросил базу данных, чтобы другие таблицы былисвязаны отношениями
Если вы передаете id этого человека, а также предполагаете, что dbcontext доступен и создан в классе внутри класса, тогда вызовите GetFullName
public string GetPersonById(int personId)
{
var person = db_context.PersonNames.FirstOrDefault(m => m.Person_PersonId == personId);
//did not check for null here
var name = person.Person.PersonNames.ToList();
var fullname = "";
name.ForEach(m => fulname += m.Name.Value + " ");
return fullname;
}
public virtual string GetFullName
{
get { return GetPersonById(PersonId); }// the person id passed, the class if instantiated can call this instance PersonId
set { ; }
}
Также выВы можете получить данные из базы данных в модели, которые у вас есть, и метод работает отлично.Передав их из БД, вы получите возможность взаимодействия, и Razor Engine
может оказать большую помощь в View, но
Чтобы получить данные, вам нужно будет извлекать данные один за другим и сохранять вlist.
public void UseModel()
{
var people = _context.People.ToList();
var names = _context.Names.ToList();
var name_types = _context.NameTypes.ToList();
List<PersonModel> ps = new List<PersonModel>();
people.ForEach(m =>
{
ps.Add(new PersonModel
{
PersonId = m.PersonId,
Suffix = m.Suffix,
DateOfBirth = m.DateOfBirth,
PersonsName = null//I suggest you use mapping here see https://stackoverflow.com/questions/16118085/best-practices-for-mapping-one-object-to-another
//use mapping to map the list or use a fooloop to construct it before this declaration and assign it here
});
});
//do for names and name_types
}
Вы также можете передать эти данные в View
как объект PersonName
, который имеет все