使用EF5和表值函数(TVF)执行连接?

时间:2012-08-30 06:18:00

标签: entity-framework entity-framework-5

我在EF 4.3中试过这个没有用。 EF5(与.NET 4.5一起使用)现在支持TVF。 因此,理论上,如果可能的话,这个新的EF5功能将为我节省大量工作。

SQL查询;

SELECT O.*
FROM dbo.Orders O
INNER JOIN dbo.SecurityTVF(@Name)   S   ON  S.UserID=O.UserID

等效的EF5查询 - 可能吗?;

using (var context = new DSN())
{
    // Return all the orders - limited by those the current user has placed
    var orders = from o in context.Orders
                 join s in context.SecurityTVF(HttpContext.Current.User.Identity.Name) on o.UserID equals s.UserID
                 select o;
}

我真的不想在这个阶段升级所有软件,除非在EF5中可以实现上述......有人试过这个吗?

注意:官方文档有点基础,http://msdn.microsoft.com/en-us/data/hh859577.aspx

提前致谢!

1 个答案:

答案 0 :(得分:2)

是的,可以使用.NET 4.5,EF 5.0和Visual Studio 2012。