Предположим, у меня есть три таблицы:Как написать запрос linq на основе EF?
Person(pid, ...)
PersonAddress(pid, aid,...)
Address(aid, ...)
Тогда я хочу, чтобы получить лицо адрес, как SQL:
select a.* from address a join PersonAddress pa on a.addressID=pa.addressID
where pa.personID = myPersonID
Использование Entity Framework для создания сущностей модели, то хочу написать Linq эквивалент, как указано выше SQL.
Я попробовал его в следующем виде:
var addresses = this.GetAddress();
var personaddresses = this.GetPersonAddress();
var query = from ad in addresses
from pa in personaddresses
where ((ad.AddressID == pa.AddressID)&&(pa.PersonID==person.personID))
select ad;
, но я получил сообщение об ошибке. Или я пытаюсь начать с:
var result = this.Context.Address;
var result = result.Join .... //how to write linq in this way?
Как написать linq?
спасибо. Попытаюсь. – KentZhou
После попытки, нет ошибки. но при отладке для проверки результата он создает запись для каждого человека, при этом нет адреса. Он должен иметь только одну запись. Смущенный результатом – KentZhou
, вы должны получать список адресов, а не людей из этого, разве это не то, что вам нужно? – bobwah