当前位置: 首页 > 编程语言 > C#

如何从字符串创建LINQ查询?Share

时间:2023-04-11 10:50:36 C#

如何从字符串创建LINQ查询?我是LINQ的新手,需要一些编码方面的帮助。目前,我有一个字符串和一个var变量。stringtemp="来自myEntities.Products中的产品,其中product.Name.Contains(_Name)选择产品";var_Products=temp;LvProducts.DataSource=_Products;LvProducts.DataBind();基本上,我想要做的是能够通过将它们预分配到字符串中来创建自定义/复杂的LINQ查询。写完之后,我把字符串赋值给一个var变量。然而,这显然是行不通的。那么,有人可以帮助我吗?您有几个选择:您可以通过使用CodeDomProvider来做到这一点——在您的.NET应用程序中添加脚本功能——在一些c#中编译这个Linq——但这是一个非常重要的解决方案。如果您想了解更多关于这是如何完成的,请查看LinqPad-http://www.linqpad.net-作者邀请您使用反编译器看看它是如何工作的!如果要求只是简单的术语,那么替代方案可能是使用DynamicLinq-请参阅ScottGu的帖子和Microsoft的示例代码-http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx也许这可以帮助你http://nlinq.codeplex.com/BR。首先使用LINQ的主要原因是让编译器验证查询,编译器将在编译时检测错误。这违背了目的,因为字符串将在运行时被解析。根据您的需要,您有两个选择:1)获取一个eSQL查询并在ObjectContext上运行它。使用此功能,您仍然可以使用myEntities.Products等实体并返回产品列表。2)使用普通的SQL查询,使用ObjectContext直接调用底层数据库。我的猜测是您必须使用动态代码执行。查看Zephyr中的Rickspost了解更多详情。您将其视为动态SQL,将语句创建为字符串并将其解析为SQL语句。既然您已经在代码中,为什么不在那里做出正确的声明。如果您使用Lambda而不是传统的linq,将会容易得多。我的2美分。以上是C#学习教程:HowtocreateaLINQqueryfromastring?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:

最新推荐
猜你喜欢