C# 使用linq中的表连接列表
我有个问题。我在var类型变量中获取所有数据,然后希望以代码优先的方法应用与数据库表的联接。面对这个问题,大量的网上搜索和申请都失败了C# 使用linq中的表连接列表,c#,linq,lambda,ef-code-first,C#,Linq,Lambda,Ef Code First,我有个问题。我在var类型变量中获取所有数据,然后希望以代码优先的方法应用与数据库表的联接。面对这个问题,大量的网上搜索和申请都失败了 var joinedData = from menuGroup in _menuGroupMenusRepository.GetAll() .Where(x => x.GroupId == input.GroupId) join menus in _menuRepository.GetAll() on m
var joinedData =
from menuGroup in _menuGroupMenusRepository.GetAll()
.Where(x => x.GroupId == input.GroupId)
join menus in _menuRepository.GetAll()
on menuGroup.MenuId equals menus.Id
join categSubcateg in _menuCategSubCategRepository.GetAll()
on menus.Id equals categSubcateg.MenuId
join categ in _menuCategoryRepository.GetAll()
on categSubcateg.CategoryId equals categ.Id
select new
{
CategoryId = categSubcateg.CategoryId,
CategoryName = categ.Category,
};
现在我想要joinedData
变量与MainMenuSort
表连接。
MainMenuSort表也有
groupid
和categoryid
要执行连接,您只需执行以下操作
var q=(from jd in joinedData
join mms in dataContext.MainMenuSort
on jd.CategoryId equals mms.CategoryId
select jd).ToList();
如果它是datatable,那么
var q=(from jd in joinedData
join mms in dtMainMenuSort.AsEnumerable()
on jd.CategoryId equals mms.Field<int>("CategoryId")
select jd).ToList();
var q=(来自joinedData中的jd)
在dtMainMenuSort.AsEnumerable()中加入彩信
在jd.CategoryId等于mms.Field(“CategoryId”)
选择jd.ToList();
要执行加入,只需执行以下操作
var q=(from jd in joinedData
join mms in dataContext.MainMenuSort
on jd.CategoryId equals mms.CategoryId
select jd).ToList();
如果它是datatable,那么
var q=(from jd in joinedData
join mms in dtMainMenuSort.AsEnumerable()
on jd.CategoryId equals mms.Field<int>("CategoryId")
select jd).ToList();
var q=(来自joinedData中的jd)
在dtMainMenuSort.AsEnumerable()中加入彩信
在jd.CategoryId等于mms.Field(“CategoryId”)
选择jd.ToList();
这样可以吗?还是您需要其他解决方案?我建议您考虑使用导航属性(如果您的安装程序有导航属性)而不是连接。我正在检查这些解决方案。一旦完成,我会确认你。谢谢Hank Juharr。我喜欢这篇文章。但是以前的解决方案对我很有效。这样可以吗?或者您还需要其他解决方案吗?我建议您考虑使用导航属性(如果您的设置有导航属性)而不是连接。我正在检查这些解决方案。一旦完成,我会确认你。谢谢Hank Juharr。我喜欢这篇文章。但之前的解决方案对我有效。