отображать две таблицы данных одновременно в linq - PullRequest
0 голосов
/ 14 апреля 2019

Я хочу отображать информацию о двух таблицах одновременно.

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);

1 Ответ

0 голосов
/ 14 апреля 2019

Если вы хотите объединить два результата в одну переменную, то самый простой способ сделать это - создать анонимный объект , например:

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, а затем создать экземпляр этого класса, но если это единственное место, где вы будете использовать этот класс, я бы не стал этого делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...