我在数据库中有一个列,其中包含来自不同表的id。但是它可以有几个id并将它们存储为逗号分隔值。我想使用linq查找第一个查询的哪些结果包含第二个表中的某个id。
int selectedDestIndex = (int)objQry3.FirstOrDefault();
var objQry = from objD in db.TourBookingTransactions
join tbt in db.TourBookingTours
on objD.TourBookingHeaderID equals tbt.TourBookingHeaderID
join tmst in db.ToursMsts
on tbt.TourID equals tmst.TourId
where objD.DTTM >= selectedStartDate
&& objD.DTTM < selectedEndDate
select new { email = objD.Email, destinationIds = tmst.DestinationIds };
var qry = objQry.ToList().Where(w => (w.destinationIds).Split(',').Contains(selectedDestIndex.ToString()));
目前,我正在从一个查询中获取电子邮件地址列表和包含ID列表的列。然后我还有一个查询,它给我我正在搜索的ID。我只想要包含此ID的电子邮件地址。当我按原样运行代码时,我收到一条错误消息,指出你不能用字符串[]执行.contains。我试过在谷歌搜索,但我找不到解决方案。任何帮助都会非常棒。我是LinQ的新手,所以不太确定我在做什么。