【问题标题】:How can i convert my SQL command into linq command? [closed]如何将我的 SQL 命令转换为 linq 命令? [关闭]
【发布时间】:2014-01-23 19:10:04
【问题描述】:

我想将此我的后续指令转换为 Linq 指令。 一个数据库上下文被命名为contestoDB

这是我的 SQL 查询:

SELECT 
   DATEDIFF(DD, GETDATE(), CERTIFICATI_2.DATA_SCADENZA) AS DAYSTOGO, 
   CERTIFICATI_2.DATA_SCADENZA, AREE.NOME_AREA, 
   AGENTS.MACCHINA, AGENTS.ALIAS_AGENT, NUMBEFOR_ALERTDAYS, 
   AGENTS.USER_ABILIATI, UTENTI_2.UTENTE as RESPONSABILE, UTENTI_2.EMAIL 
FROM  
   CERTIFICATI_2 
INNER JOIN 
   AGENTS ON CERTIFICATI_2.ID_AGENTS = AGENTS.ID_AGENT 
INNER JOIN 
   UTENTI_2 ON AGENTS.RESPONSABILE = UTENTI_2.ID 
INNER JOIN 
   AREE ON AGENTS.ID_AREA = AREE.ID_AREA
WHERE 
   DATEDIFF(DD,GETDATE(),CERTIFICATI_2.DATA_SCADENZA) = ISNULL( NUMBEFOR_ALERTDAYS,57)
    OR DATEDIFF(DD,GETDATE(),CERTIFICATI_2.DATA_SCADENZA) = 0  
ORDER BY 
    CERTIFICATI_2.DATA_SCADENZA

有没有什么地方可以帮助我在 Linq 中转换?

谢谢!

PS:我尝试过 Linquer,但它没有转换我的 sql,因为 ISNULLDATEDIFF 在转换中产生问题并关闭程序。

【问题讨论】:

  • 请不要只删除 SQL 并要求转换。至少显示一个类模型,以便导航属性和关联的多样性是可见的。并展示你自己的初步努力。
  • stackoverflow.com/questions/12238423/… 这个问题以前有人问过。
  • 如果你总是想从 SQL => Linq 转换,你可以使用linqpad.net/codesnippetide.aspx
  • 我有 LinqPad,并且能够将 SQL 转换为 Linq,Badik Ali。我在 LinqPad 或您链接到的那个页面上看不到任何东西。还有其他指针吗?

标签: sql sql-server linq


【解决方案1】:

这应该可行:

var query = from cert in db.Certificati
            join agent in db.Agents
            on cert.Id_Agents equals agent.Id_Agent
            join utenti in db.Utenti
            on agent.Responsabile equals utenti.ID
            join aree in db.Aree
            on agent.Id_Area equals aree.Id_Area
            where (DateTime.Now - cert.Data_Scadenza).TotalDays == 0 
               || (DateTime.Now - cert.Data_Scadenza).TotalDays == cert.NUMBEFOR_ALERTDAYS ?? 57
            orderby cert.Data_Scadenza descending
            select new 
            {
                DaysToGo = (DateTime.Now - cert.Data_Scadenza).TotalDays,
                // other columns
            };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2013-05-19
    • 1970-01-01
    相关资源
    最近更新 更多