2012-06-22 2 views
0

Я добавил UDF в концептуальную модель данных под тегом <DefiningExpression>. Можно ли добавить нулевую проверку или заменить в теге <DefiningExpression>.null проверить в UDF в концептуальной модели?

<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 значения. Как сделать проверку этого внутри этого или где-нибудь еще? Я думаю, что нулевые значения вызывают исключение, и поэтому я получаю все выражение как empty.Instead, я хочу просто заменить их на «", если null.

ответ

0

<DefiningExpression>must contain Entity SQL. Entity SQL не имеет ISNULL функцию, так что вам придется использовать более неуклюжим CASE expression:

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

Спасибо за ответ. Но я выбрал другой способ сделать то же самое. Я просто добавил метод расширения для объекта объекта, о котором идет речь, и я полагаю, что он делает то же самое в фоновом режиме. Кроме того, я могу написать обычную функцию C# с полными функциями LINQ. –

Смежные вопросы