首页 > 解决方案 > 将 SQL 转换为 LINQ 查询 C# mvc

问题描述

如何将此代码转换为 linq Query?

SELECT 
    max_valor, FORMAT(Data_cont, 'hh:mm') 
FROM 
    dbo.Conteudo
WHERE
    nomeAl = @id 
    AND FORMAT(Data_cont, 'dd') = FORMAT(GETDATE(), 'dd')
ORDER BY
    Data_cont

@id页面 ID,

谢谢 :)

标签: c#sqlasp.net-mvclinq

解决方案


尝试跟随。我模拟了实体类,让您更好地可视化代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Globalization;

namespace ConsoleApplication166
{
    class Program
    {
        static void Main(string[] args)
        {
            Context db = new Context();
            string id = "abc";

            var results = db.Conteudo
                .Where(x => (x.nomeAl == id) && (x.Data_cont.Day == DateTime.Now.Day))
                .OrderBy(x => x.Data_cont)
                .Select(x => new { max_valor = x.max_valor, date = x.Data_cont.ToString("hh:mm") })
                .ToList();
        }
    }
    public class Context
    {
        public List<Conteudo> Conteudo { get; set; }
    }
    public class Conteudo
    {
        public string nomeAl { get; set; }
        public DateTime Data_cont { get; set; }
        public string max_valor { get; set; }
    }
 
}

推荐阅读