Приведенные выше запросы потребуют от вас изменить сигнатуру вашего метода, что может быть очень трудоемкой работой, в зависимости от того, где вы ее настроили. В частности, Arion в значительной степени полностью имитирует поведение левого соединения, о котором вы говорите (это здорово, потому что вы знаете, что делает Entity), но вам нужно будет изменить тип возвращаемого значения на Tuple<userGroups, Users>
или что-то в этом роде.
Вместо этого вы можете обновить poco userGroups, добавив свойство nav в таблицу Users
. Если я правильно понимаю ваш заданный вопрос, у вас есть отношения один ко многим, которые существуют здесь. В этом случае вы бы изменили poco следующим образом:
public class userGroups
{
public int ID { get; set; }
public string GroupName { get; set; }
public virtual ICollection<Users> Users { get; set; }
}
public class Users
{
public int ID { get; set; }
public string Name { get; set; }
public virtual userGroups UserGroup { get; set; }
}
Однако имена, которые вы разместили в исходном вопросе, не соответствуют тому, что Entity считает нормализованным именованием, поэтому вам может понадобиться использовать аннотации данных, как описано здесь . Ctrl-F "ForeignKey", если у вас возникли проблемы с его поиском, это своего рода большой информационный дамп для аннотаций данных в целом.
Преимущество заключается в том, что если вы перейдете по такой ссылке, вам больше не придется беспокоиться о повторном присоединении. Вы можете просто получить доступ к коллекции Users в группах пользователей, и она будет доступна, присоединена и разработана для вас.