【问题标题】:How call functions from data base in EF如何从 EF 中的数据库调用函数
【发布时间】:2012-01-13 02:25:18
【问题描述】:

我从我的数据库生成一个模型。

在 .edmx 文件中我有一个行字符串

<Function Name="GetUniqueInt" ReturnType="int" Aggregate="false" BuiltIn="false" NiladicFunction="false" IsComposable="true" ParameterTypeSemantics="AllowImplicitConversion" Schema="dbo" />

因为它的原因?

【问题讨论】:

    标签: sql-server entity-framework entity-framework-4.1


    【解决方案1】:

    您需要在某处创建stub method for your function。它应该看起来像:

    [EdmFunction("YourModelNamespace", "GetUniqueInt")]
    public static int GetUniqueInt()
    {
        throw new NotSupportedException("Direct calls are not supported.");
    }
    

    例如将此方法放置到您的上下文类中并在 LINQ 查询中使用它。

    【讨论】:

    • 我不明白 "throw new NotSupportedException("Direct calls are not supported.");"不必改变?
    • 是存根方法。它应该只在 Linq-to-entities 查询中被调用,因为它的内容被翻译成你的 SQL 函数调用,所以它的内容永远不会被调用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2021-07-30
    • 1970-01-01
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多