1
我有以下格式的LINQ查詢。問題是,我以列表的形式傳遞100 consumerID
的列表。我想查詢數據庫併爲 所有這100個consumerIds帶來結果。然而,查詢僅爲第一個人帶來了結果。我懷疑我在where子句中缺少某些東西。我確信在所有這100個consumerIds的數據庫中都有匹配的結果。問題與查詢數據庫使用LINQ查詢帶來的DTO列表
public ICollection<ConsumerExchangeChangeDto> GetByConsumers(List<int> consumerIDs)
{
EnrollmentReportingModel db = (EnrollmentReportingModel)Context.DbContext;
var results = (from ecew in db.A
join ecewe in db.B on ecew.ID
equals ecewe.ExchangeChangeEnrollmentWindowID into temp
from j in temp.DefaultIfEmpty()
join cecr in db.C on ecew.ConsumerExchangeChangeRequestID equals cecr.ID
join con in db.D on cecr.ConsumerID equals con.ID
where consumerIDs.Contains(con.ID) && !ecew.Deleted
select new E
{
ConsumerID = con.ID,
OrganizationID = con.OrganizationID,
StartDate = ecew.StartDate,
EndDate = ecew.EndDate,
Deleted = ecew.Deleted
}).ToList();
return results;
}
這裏是DTO類
public class E : ILzDto
{
public int ConsumerID { get; set; }
public int OrganizationID { get; set; }
public DateTime? StartDate { get; set; }
public DateTime? EndDate { get; set; }
public bool Deleted { get; set; }
}
有多少項目在'consumerIDs'參數?以及「Deleted = true」表中有多少條記錄? – Shyju
我不明白你正在創建類型E的列表,但函數返回類型ConsumerExchangeChangeDto - 這怎麼能編譯? – Hogan