地理数据: ID
地址: ID,GeoDataID,用户名
产品: ID,用户名
GeoDat之间存在一对一的关系a.ID和Address.GeoDataID以及Address.UserID和Products之间的一对多关系。用户ID
我有一个GeoData ID数组作为输入,我想获取所有相关产品。
如果我只有一个地理数据ID我会尝试这样的:
int geoDataID = 3456;
using (var context = new BaseContext())
{
from p in context.Products
join a in context.Addresses on p.UserID equals a.UserID
join g in context.GeoData on a.GeoDataID equals g.ID
where g.ID == geoDataID
select new { p };
}
但我有一个数组(INT []地理数据)作为输入我不能设法把它在一起。
如果'geoDataID'是'INT []','然后在那里geoDataID.contains(g.ID)' –
我很抱歉,我不明白您的评论:这是应该是一个解决方法,以获取预期的结果? – Luke
它不清楚你的问题,但如果'geoDataID'说'int [] geoDataID = new int [] {1,2,3}',那么用我的第一条评论中的代码替换'where g.ID == geoDataID' –