Проблема с включением в структуру Entity - PullRequest
0 голосов
/ 01 мая 2020

У меня есть классы 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 ();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...