Code First TVF在6.1.0-alpha1-30113中

时间:2014-01-15 15:16:42

标签: entity-framework entity-framework-6

EF人,

我的理解是,新制作的元数据公共API将允许我们在模型中添加足够的元数据,以便可以调用TVF并进行组合。

如果有人能指出我正确的方向,我会非常感激。如果没有可组合的TVF,我必须经历一些主要的工作。

从单元测试来看,这个思路看起来很长:

var functionImport = EdmFunction.Create()
            "Foo", "Bar", DataSpace.CSpace,
            new EdmFunctionPayload
            {
                IsComposable = true,
                IsFunctionImport = true,
                ReturnParameters = new[]
                           {
                               FunctionParameter.Create("functionname", EdmType.GetBuiltInType()
                                   EdmConstants.ReturnType,
                                   TypeUsage.Create(collectionTypeMock.Object),
                                   ParameterMode.ReturnValue),
                           }
            });
...
entityContainer.AddFunctionImport(functionImport);

谢谢,  Brian F

1 个答案:

答案 0 :(得分:1)

是的,现在可以在EF6.1中使用。我实际上创建了一个自定义模型约定,允许使用新打开的映射API在CodeFirst中使用存储函数。该约定可在NuGet http://www.nuget.org/packages/EntityFramework.CodeFirstStoreFunctions上获得。以下是包含所有详细信息的博客帖子的链接:http://blog.3d-logic.com/2014/04/09/support-for-store-functions-tvfs-and-stored-procs-in-entity-framework-6-1/。该项目是开源的,您可以在此处获取资源:https://codefirstfunctions.codeplex.com/