如何动态分配数据库表和列给linq?

发布于 2024-11-23 18:13:23 字数 432 浏览 2 评论 0 原文

我尝试从 sliverlight 应用程序调用 linq 查询到 Web 服务,该服务是“ADD.NET 实体数据模型”和“WCF 数据服务”。下面的 linq 正在工作(例如使用预定义的表和字段名称):

        var query = from o in context.ORDER
                    where o.NUMBER == 1
                    select o;

        ((DataServiceQuery<ORDER>)query).BeginExecute(OnQueryComplete, query);    

但我需要动态地将不同的表和字段名称分配给 linq 查询。有什么办法吗?我需要在 WCF 中编写一个方法来执行任何 sql 命令吗?

感谢您的任何帮助。

I tried to call linq query from sliverlight application to web service which is 'ADD.NET Entity Data Model' with 'WCF Data Service'. The linq below is working (e.g.using pre-defined table & field names):

        var query = from o in context.ORDER
                    where o.NUMBER == 1
                    select o;

        ((DataServiceQuery<ORDER>)query).BeginExecute(OnQueryComplete, query);    

But I need dynamically assign different table and fields names to the linq query. Is there any way? Do I need to write a method in WCF to execute any sql command?

Thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

も星光 2024-11-30 18:13:23

您可以使用动态 Linq 示例在 where 子句中提供动态字段名称 - 请参阅:http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

此外,您可以使用 PredicateBuilder 以类型安全的方式执行此操作 - http://www.albahari.com/nutshell/predicatebuilder.aspx

对于更多动态行为 - 包括动态表名称 - 我能想到的唯一 Linq 选项是在运行时编译一些代码在您的应用程序中使用 CSharpCodeProvider (http://support.microsoft.com/kb/304655)。然而,显然,在通过网络服务提供此服务时,您需要小心安全性。

You can use the Dynamic Linq samples to provide dynamic field names in where clauses - see: http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

Further, you can do this in a type-safe way using PredicateBuilder - http://www.albahari.com/nutshell/predicatebuilder.aspx

For more dynamic behavior - including dynamic table names - the only Linq option I can think of is to compile some code at runtime within your app using the CSharpCodeProvider (http://support.microsoft.com/kb/304655). However, obviously you need to be careful with security when offering this from a web service.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文