【问题标题】:null check in UDF in Conceptual model?概念模型中UDF的空检查?
【发布时间】:2012-06-22 02:07:24
【问题描述】:

我在<DefiningExpression> 标记下的概念数据模型中添加了一个UDF。 是否可以在 <DefiningExpression> 标记中添加空检查或替换。

<Function Name="FullName" ReturnType="String">
    <Parameter Name="c" Type="IsolateDataModel.User_UserInformation" />
        <DefiningExpression>
            <!--c.Prefix + " " + c.FirstName + " " + 
            c.LastName + " " + c.PostFix-->
            ISNULL(c.FirstName,"")
      </DefiningExpression>
</Function>

当值不为空时,我会得到值,但是某些列(例如前缀和后缀)是 nullable 并且确实具有 NULL 值。如何在此内部或其他任何地方对此进行检查?我认为空值会导致异常,因此我将整个表达式设为空。相反,我只想用 "" if null 替换它们。

【问题讨论】:

    标签: .net linq entity-framework-4


    【解决方案1】:

    &lt;DefiningExpression&gt; 元素 must contain Entity SQL。 Entity SQL 没有ISNULL 函数,所以你必须使用更笨拙的CASE expression

    CASE WHEN c.FirstName IS NULL THEN '' ELSE c.FirstName END
    

    【讨论】:

    • 感谢您的回答。但我选择了另一种方式来做同样的事情。我刚刚为有问题的实体对象添加了一个扩展方法,我想它在后台也是如此。此外,我还可以编写一个具有完整 LINQ 功能的普通 C# 函数。
    猜你喜欢
    • 1970-01-01
    • 2020-11-29
    • 2020-10-28
    • 1970-01-01
    • 2018-08-28
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    相关资源
    最近更新 更多