需要SQL到linq C#代码以下SQL [英] Need SQL to linq C# code for below SQL

查看:62
本文介绍了需要SQL到linq C#代码以下SQL的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

需要C#Linq代码以下SQL



  SELECT  a .col1,ROW_NUMBER() OVER  PARTITION   BY  a.col4  ORDER   BY   CASE   WHEN  a.col2     null    '  1/1/1900  ELSE  a.modifiedon  END ,a.modifiedon  ASC  AS 编号
FROM table1 a
其中 col3 = ' ABC'





我的尝试:



试图使用linq group和orderby运算符但没有工作

解决方案

试试这个:

  var  data = context.Table1 
.Where(x = x.Col3 == ABC
.GroupBy(x => x.Col4)
.SelectMany (grp => grp
.OrderBy(x = > x.Col2!= null new DateTime( 1900 1 ,< span class =code-digit> 1 ):x.ModifiedOn)
。选择((j,i)= > < span class =code-keyword> new
{
Col1 = j.Col1,
Number = i + 1
}));





注意:笔直写在头上,所以它可能包含拼写错误。


Need C# Linq code for below SQL

SELECT a.col1, ROW_NUMBER() OVER (PARTITION BY a.col4 ORDER BY CASE WHEN a.col2 is not null then '1/1/1900' ELSE a.modifiedon  END, a.modifiedon ASC) AS Number
    FROM table1  a
	where col3 = 'ABC'



What I have tried:

Tried to use linq group and orderby operators but didn't work

解决方案

Try this:

var data = context.Table1
    .Where(x=x.Col3=="ABC")
    .GroupBy(x=>x.Col4)
    .SelectMany(grp=>grp
        .OrderBy(x => x.Col2!=null ? new DateTime(1900, 1, 1) : x.ModifiedOn)
        .Select((j, i) => new
        {
            Col1 = j.Col1,
            Number = i + 1
         }));



Note: Written straight from my head, so it can contains misspelling.


这篇关于需要SQL到linq C#代码以下SQL的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆