0
私は以下のフォーマットで書かれたlinqクエリを持っています。今私はconsumerIDを渡しているときにうまく動作し、where句に入れることができます。しかし、私がconsumerIdsのリストを渡そうとすると、これをwhere節にどのように入れることができますか?私はいくつかのソリューションをオンラインで見ていると彼らは私が使いたくない他のlinq形式を使用しています。 where節にリストを持たせることができればsuggesestしてください。これはsqlの節でどのようにできるのでしょうか?ここでwhere句のリストを含むlinqクエリ
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 con.ID.Contains(consumerIDs) && !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; }
}
その応答に感謝します。あなたが私の関数定義をpublic ICollectionに変更するかどうかを提案できますか? GetByConsumers(int [] consumerIDs) –
@kushalbholaあなたが何を意味するのか分かりません。なぜリストではなく配列を渡したいのですか? – ChrisF
外部APIからこれらのIDを取得していますが、これをリストに変換して処理することができますが、機能定義を変更できるのはなぜですか? –