В качестве примера, скажем, у вас есть такой класс
**Person**
int PersonID
string PersonName
BusinessLocation Locations
**BusinessLocation**
string city
string state
List<int> ZipCodes
(говоря, что местоположения могут существовать в нескольких почтовых индексах) (также игнорируя, что почтовые индексы должны быть строками, а не целыми, это всего лишь пример)
Скажите, что местоположения предприятий существуют в нескольких почтовых индексах.
Теперь яя пытаюсь отозвать всех людей, находящихся в таблице, с указанием почтового индекса предприятия.
Например, я хочу, чтобы все люди имели почтовый индекс 32567.
(учитывая списокИдентификаторы, это работает, я пытаюсь сделать наоборот, учитывая один идентификатор, я хочу список людей)
public Person GetPersonsByBusinessZipCode(int zipcode)
{
List<Person> personList =
this.GetAllQueryable().Where(
x => x.Locations.ZipCodes.Contains(zipcode)).ToList();
}
Это отображается как на Fluent.
HasMany<int>(x => x.ZipCodes)
.Table("BusinessLocationsZipCodes")
.KeyColumns.Add("BusinessLocationID")
.Inverse()
.Element("ZipCode")
.AsBag()
.Cascade.None()
.Cache.ReadOnly();
BusinessLocationZipCodes - это просто справочная таблица, указывающая, что BusinessLocation может иметь несколько ZipCodes, следовательно, HasMany.
Зная, что работает обратное, если мне дают список ZipCodes, и я пытаюсь найти BusinessLocations, содержащиеся в спискеиз почтовых индексов работает (при условии, что сопоставление с почтовым индексом, а не список почтовых индексов).Сейчас я просто пытаюсь найти BusinessLocations по почтовому индексу.
Если у кого-то есть ответ, я был бы признателен.