none
如何将一个linq代码格式的字符串当成c#代码执行?动态拼接linq的查询条件去查询泛型集合,就差当成c#代码执行了 RRS feed

  • 问题

  • 用户输入字符串:  姓名:"张三"&年龄="16"|年龄="27",系统解析后(非简单的替换),

    将得到字符串" StuIn.Name.Contains(\"张三\")&&StuIn.Age=\"16\"||StuIn.Age=\"27\" select StuIn",这个字符串就是一个条件表达式的格式,然后拼接" query=(select StuIn in StuInList where "和"select StuIn).toList();"这两个字符串,组成一个Linq表达式。这一步已经做好,就差当成c#代码执行了

    List<Student> query=null;
    
    string a=" query=(select StuIn in StuInList where StuIn.Name.Contains(\"张三\")&&StuIn.Age=\"16\"||StuIn.Age=\"27\" select StuIn).toList();"
    
    //最终这个linq语句的字符串将被当成c#代码执行?这一步要怎么做?

    要注意两个问题,当成c#代码执行后,若有语法错误可以抛出异常提示和,以及inq语句内的所有方法都可以调用









    2017年5月9日 6:08

答案

  • 你需要了解查询表达式(Expression,构建完成之后,再将它编译为委托并执行)

    http://www.cnblogs.com/blackice/p/5798486.html




    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年5月9日 10:12

全部回复

  • 你需要了解查询表达式(Expression,构建完成之后,再将它编译为委托并执行)

    http://www.cnblogs.com/blackice/p/5798486.html




    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    2017年5月9日 10:12
  • 你需要了解查询表达式(Expression,构建完成之后,再将它编译为委托并执行)

    http://www.cnblogs.com/blackice/p/5798486.html




    专注于.NET ERP/CRM开发框架,C/S架构,SQL Server + ORM(LLBL Gen Pro) + Infragistics WinForms

    没用过lambda表达式
    2017年5月9日 13:58
  • Hi,

    Lambda表达式简单的说,就是没有函数的定义,直接就是函数执行体加上形参。

    下面是使用lambda的一些简单用法,希望对你有所帮助。

    http://www.cnblogs.com/LipeiNet/p/4710179.html

    http://www.jb51.net/article/54869.htm

    Best Regards,

    Hart

    注意:此回复包含对第三方万维网站点的引用。
    Microsoft提供此信息为您提供方便。 Microsoft不控制这些网站,并且没有测试在这些网站上发现的任何软件或信息;
    因此,Microsoft不能对任何软件或信息的质量,安全性或适用性做任何声明。
    使用互联网上发现的任何软件都存在固有的危险,Microsoft警告您,在从互联网检索任何软件之前,请确保您完全理解风险。


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年5月10日 7:15
    版主