Представьте, что у меня есть такие классы, как:
// DTO
public class RequestrDto
{
public string Name { get; set; }
public ICollection<int> CityIds { get; set; }
}
// ENTITY
// PLACE
public class Place
{
public int Id { get; set; }
public string Name { get; set; }
public List<City> Cities { get; set; }
}
// CITY
public class City
{
public int Id { get; set; }
public int? PlaceId { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public List<City> Cities { get; set; }
public Place Place { get; set; }
}
Я хотел бы проверить, существуют ли города в базе данных, и добавить их во вновь созданный класс объектов, который будет добавлен в базу данных.
Итак, я могу сделать как:
var placeEntity = new Place()
{
Name = RequestrDto.Name;
}
var cities = _context.Cities.Where(x => request.CityIds.Contains(x.Id)).ToList();
placeEntity.Cities.AddRange(cities);
Как я могу получить города и проверить, есть ли они в БД? Я знаю, что могу перебрать его через foreach, но я ищу причудливый способ.