Нахождение таблицы по внешнему ключу - PullRequest
0 голосов
/ 28 октября 2019

У меня есть эти две таблицы и мост между ними:

public class User
    {
        [Required]
        public string Email { get; set; }
        [Required]
        public string FirstName { get; set; }
        [Required]
        public string LastName { get; set; }
        public int Id { get; set; }
        public ICollection<UserLocation> UserLocations { get; set; }
        [Required]
        public string Password { get; set; }
        [Required]
        public string Username { get; set; }
    }
public class Location
    {
        [Required]
        public int Id { get; set; }
        [Required]
        public string Name { get; set; }
        public string Picture { get; set; }
        public string PostCode { get; set; }
        public string Region { get; set; }
        public ICollection<UserLocation> UserLocations { get; set; }
    }
public class UserLocation
    {
        public Location Location { get; set; }
        public int LocationId { get; set; }
        public User User { get; set; }
        public int UserId { get; set; }
    }

Мне нужно создать метод, который принимает в качестве параметра поле поиска и идентификатор пользователя, возвращает всеместоположения, присвоенные этому идентификатору пользователя, и ищет, содержится ли строка в каком-либо из реквизитов местоположений.

У меня возникают проблемы с возвратом местоположений на основе идентификатора пользователя.

Я пытался _context.UserLocations.Include(ul=>ul.Location).Where(l=>l.UserId==userId)но это не сработало, так как я получил синтаксическую ошибку при попытке использовать l.UserId. Я также попробовал наоборот, _context.Locations.Include(l=>l.UserLocations), но столкнулся с той же проблемой.

Мне нужно найти способ получить все местоположения, связанные с пользователем. Поиск может быть легко выполнен с использованием метода Contains().

1 Ответ

1 голос
/ 28 октября 2019

Попробуйте это

_context.UserLocations.Where(x => x.UserId == userId).Select(x => x.Location) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...