У меня есть классы Employee, Address и Organization. ниже приведены подробности
public partial class Employees
{
public Employees()
{
AddressDetails = new HashSet<AddressDetails>();
OrganizationDetails = new HashSet<OrganizationDetails>();
}
public string Id { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string LastName { get; set; }
public ICollection<AddressDetails> AddressDetails { get; set; }
public ICollection<OrganizationDetails> OrganizationDetails { get; set; }
}
public partial class AddressDetails
{
public int Id { get; set; }
public string Address { get; set; }
public string Type { get; set; }
public string EmployeeId { get; set; }
public Employees Employee { get; set; }
}
public partial class OrganizationDetails
{
public int Id { get; set; }
public string Name { get; set; }
public string Location { get; set; }
public string EmployeeId { get; set; }
public Employees Employee { get; set; }
}
Я использовал полностью определенную связь, вы можете видеть, что у Employee есть наборы AddressDetails и OrganizationDetails в качестве свойств навигации. И у каждого из них одинаковые значения EmployeeId и Employee.
Моя проблема в том, что когда я пытаюсь получить сведения о сотруднике с помощью Include (), загружаются и AddressDetails, и OrganizationDetails, это нормально, но когда я проверял оба коллекции, каждая сущность снова загрузила информацию о сотруднике и т. д.
, например: если я проверяю загруженную коллекцию AddressDetails, объект Address содержит информацию о Employee и снова о том, что Employee имеет коллекции как AddressDetails, так и OrganizationDetails.
Пожалуйста, помогите мне, как я могу избежать этого. Я не хочу удалять свойство объекта Employee из AddressDetails и OrganizationDetails. есть ли в любом случае заставить его работать с Include ().
вот запрос, который я использую для загрузки этих свойств навигации.
Список сотрудников = _context.Employees.Include (emp => emp.AddressDetails) .Include (emp => emp.OrganizationDetails) .ToList ();