使用实体framework4执行自定义sql

Mic*_*hel 3 c# entity-framework entity-framework-4

我必须从数据库接收特定于用户的工作人员.

所有用户的过滤器都是不同的,所以必须将所有订单发送到英国,其他所有订单都运送到其他5个国家,一个包含所有高价值的商品,一个包含包含> 10个商品的订单等.

那么,我想出了这个想法(如果你有一个更好的想法就拍它!)

我为每个用户创建一个视图,所有视图返回相同的数据,但过滤器是不同的.

在ado.net中我会做这样的事情:

string sql = "select * from vwWorkOrders" + userName;
[rest of the ado.net here]
Run Code Online (Sandbox Code Playgroud)

但现在我正在使用ef4,我想知道这种代码的等价物是什么.

Dev*_*art 9

您可以使用ExecuteStoreQuery方法,如以下示例所示:

context.ExecuteStoreQuery<vwWorkOrder>(sql);
Run Code Online (Sandbox Code Playgroud)

此方法允许您执行存储SQL并获取强类型结果.
如果您需要传递一些参数,只需在ExecuteStoreQuery的调用中传递必要的ObjectParameter实例.