我想sql语句转换为LINQ但没能做到这一点。我的sql语句是 -转换SQL到LINQ语法
string strSQL = string.Format("select * from test1({0}, {1}) order by ID ASC ", IsNotNull(CID), IsNotNull(Names));
有人可以帮助我如何转换此。
谢谢
我想sql语句转换为LINQ但没能做到这一点。我的sql语句是 -转换SQL到LINQ语法
string strSQL = string.Format("select * from test1({0}, {1}) order by ID ASC ", IsNotNull(CID), IsNotNull(Names));
有人可以帮助我如何转换此。
谢谢
看来,test1的是类的Test1的对象的表,而这个类的Test1有CID和名称为空的属性,和一个IComparable属性Id(所以你可以通过Id订购)。
我不知道,如果你使用实体框架,但显然你有话要访问您的test1的对象表:使用实体框架
IEnumerable<Test1> test1Objects = ...
这将是这样的:
IEnumerable<Test1> test1Objects = myDbContext.Test1s;
您的LINQ查询将是:
IEnumerable<Test1> result = test1Objects
.Where(test1 => test1.CID != null && test1.Names != null)
.Orderby(test1 = test1.Id)
在口头上:从每TES test1Objects序列中T1项目,只需要有test1.CID的非空值和test1.Names的非空值的test1的项目。顺序递增ID顺序
结果序列这假定CID是一个类。如果CID是一个可以为空的值类型,如int?或日期时间?你最好使用:
.Where(test1 => test1.CID.HasValue() && ...
嗨,谢谢你的回复,不幸的是,我没有使用实体框架,我使用ado.net connectionstring。 – jacklondon
但尽管如此,使用Linq,你需要一些类的IEnumerable,这些特性。该在那里看起来类似 –
谢谢,它会给我的理解 – jacklondon
为此使用Linqer。它是将SQL转换为Linq的工具。并非所有查询都可以转换,但是您会发现它是一个强大的工具。
谢谢,但没有其他办法,我可以做到这一点,我不能运行exe文件 – jacklondon
谢谢,我不能运行exe文件 – jacklondon
OK,然后请参阅此[基本LINQ查询操作(C#)...](https://msdn.microsoft.com/en-us/library/bb397927.aspx) –
你也可以尝试LinqPad https://www.linqpad.net/ –