Entity framework 是否将存储过程与实体框架一起使用?

Entity framework 是否将存储过程与实体框架一起使用?,entity-framework,stored-procedures,linq-to-entities,Entity Framework,Stored Procedures,Linq To Entities,我想知道,我是使用实体框架的存储过程,还是只使用用户Linq到实体查询 考虑一下,我想要客户的订单。所以,一个解决方案是使用存储过程实现的,该存储过程在两个表上使用联接,例如返回订单ID 另一个解决方案是使用Linq进行实体查询。此解决方案比第一个解决方案更具优势,也就是说,我们可以使用用户导航属性轻松地在客户订单信息中移动。但在存储过程中,由于它只返回ID,所以访问订单信息有点困难 那么,考虑到第二种解决方案偏好,哪一种更好呢?两种解决方案都有效——而且由于您没有定义“更好”对您意味着什么,我

我想知道,我是使用实体框架的存储过程,还是只使用用户Linq到实体查询

考虑一下,我想要客户的订单。所以,一个解决方案是使用存储过程实现的,该存储过程在两个表上使用联接,例如返回订单ID

另一个解决方案是使用Linq进行实体查询。此解决方案比第一个解决方案更具优势,也就是说,我们可以使用用户导航属性轻松地在客户订单信息中移动。但在存储过程中,由于它只返回ID,所以访问订单信息有点困难


那么,考虑到第二种解决方案偏好,哪一种更好呢?

两种解决方案都有效——而且由于您没有定义“更好”对您意味着什么,我们不可能告诉您哪个解决方案“更好”

在实体框架中使用存储过程是完全可能的,尤其是在EF4中。存储过程有其优点—您不必给用户直接的表访问权限,您可以让DBA调整这些存储过程以获得最佳性能,您可以通过调用带有
CustomerID
的存储过程来删除
Customer
之类的操作(不必首先加载整个客户,只需删除它)

所以存储过程肯定有好处——对许多人来说,缺点是他们必须用T-SQL编写这些程序,而现在突然间,应用程序的一部分在C#代码中,而另一部分在存储过程的T-SQL代码中


所以再说一次:正如你所问的那样含糊不清,没有真正好的答案。这两种方法都是有效的,都是有效的-这是个人的偏好,你想使用哪一种。

英语太差了,很难理解。如果你使用的是实体框架,你不是使用Linq to SQL,而是使用Linq to Entities。