c# - 在 linq 中一次显示两个表数据
问题描述
我想一次显示两个表格信息。
List<int> order_track = db.Order_Trackings.Where(e => e.UID == id).Select(q => q.ID).ToList();
if (order_track == null)
{
var rate = db.Ratings.OrderByDescending(e => e.Rate).Take(5);
}
List<int> fidList = db.OrderFoods.Where(q => order_track.Contains(q.OID)).Select(q => q.FID).ToList();
var qs = (from x in fidList
group x by x into g
let count = g.Count()
orderby count descending
select new { KEY = g.Key });
if (order_track.Count == 2)
{
var one = qs;
List<int> idList = new List<int>();
foreach (var val in one)
{
idList.Add(val.KEY);
}
var food = db.Foods.Where(q => idList.Contains(q.ID));
var rate = db.Ratings.OrderByDescending(e => e.Rate).FirstorDefault();
return Request.CreateResponse(HttpStatusCode.OK, rate);
我想做这样的事情我希望你能理解我想要实现的目标提前谢谢。
var food = db.Foods.Where(q => idList.Contains(q.ID)&&db.Ratings.OrderByDescending(e => e.Rate).FirstorDefault());
return Request.CreateResponse(HttpStatusCode.OK, rate);
解决方案
如果要将两个结果合并到一个变量中,那么最简单的方法是创建一个匿名对象,如下所示:
var result = new
{
food = db.Foods.Where(q => idList.Contains(q.ID)),
rate = db.Ratings.OrderByDescending(e => e.Rate).FirstorDefault()
};
return Request.CreateResponse(HttpStatusCode.OK, result);
您也可以class
使用两个创建一个properties
,然后创建该类的一个实例,但如果这是您将使用该类的唯一地方,那么我不会费心去做。
推荐阅读
- sql - How to write a SQL query to find number of accounts tied to a particular value?
- django - 如何为 django 的管理文件正确配置静态文件夹
- graphql-java - 将我的 spring Boot Graphql 连接到 Apollo Gateway
- angular - 在 Angular 网页中集成基于 linux 的终端
- asp.net-mvc - 在Vue中获取选择列表的选定值
- sql - 如何编写 SQL 脚本来查找与原始 ID 相关的所有关系?
- wordpress - 如何使我的 Wordpress 网站免受访客访问
- amazon-s3 - 以 parquet 格式将 json 数据从 kafka 写入 s3
- recursion - 从列表中删除第二次出现的给定项目 - 球拍
- python - 矩阵:仅在 numpy 数组的对角线位置放置负值