Как мне выполнить поиск в двух или более таблицах.
В системе, которую я делаю, у меня есть таблицы Boat
, TypeOfBoat
и ClassBoat
.
Мое сопоставление выглядит следующим образом:
HasRequired(c => c.ClassBoat )
.WithMany(c => c.Boat)
.HasForeignKey(c => c.ClassBoatId);
HasRequired(c => c.TypeOfBoat)
.WithMany(c => c.Boat)
.HasForeignKey(c => c.TypeOfBoatId);
Я создал общий репозиторий для поиска
public virtual IEnumerable<TEntity> Search(Expression<Func<TEntity, bool>> predicate)
{
return Dbset.Where(predicate);
}
И я использую общий интерфейсный репозиторий для конкретных поисков лодок, вот несколько примеровниже:
public IEnumerable<Boat> GetByActive()
{
return Search(c => c.Active && !c.excluded);
}
public Boat GetByName(string name)
{
return Search(c => c.Name== name).FirstOrDefault();
}
И если я хочу получить TypeOfBoat
и ClassBoat
, которые представляют собой разные таблицы, но которые связаны с таблицей Boat
, как мне поступить?
Моя идея состоит в том, чтобы показать эти данные в таблице
Вот SS, какова моя база данных.
База данных