Skip to Main Content

ODP.NET

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SqlFunctions.DateDiff impossible convert Linq To Entities

giocaputoOct 1 2015 — edited Oct 1 2015

Hello,

I am using Entity Framework 4.

ODAC 12c Release1

am using a query linq


var list= context.DateTable.Where(x => (SqlFunctions.DateDiff("dd", x.StartDate, DateTime.Today) >= 0)

                   && (x.EndDate == null || SqlFunctions.DateDiff("dd", x.EndDate, DateTime.Today) <= 0)).ToList();

and throw this exception

Exception:

  ******************** EXCEPTION INFO ********************

  Message:

  Impossibile convertire il metodo specificato 'System.Nullable`1[System.Int32] DateDiff(System.String, System.Nullable`1[System.DateTime], System.Nullable`1[System.DateTime])' del tipo 'System.Data.Objects.SqlClient.SqlFunctions' in un'espressione di archivio LINQ to Entities.

  Source:

  System.Data.Entity

  StackTrace:

    in System.Data.Objects.ELinq.ExpressionConverter.ThrowUnresolvableFunction(Expression Expression)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator. .TranslateFunctionCall(ExpressionConverter parent, MethodCallExpression call, EdmFunctionAttribute functionAttribute)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.BinaryTranslator.TypedTranslate(ExpressionConverter parent, BinaryExpression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.BinaryTranslator.TypedTranslate(ExpressionConverter parent, BinaryExpression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.BinaryTranslator.TypedTranslate(ExpressionConverter parent, BinaryExpression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.TranslateLambda(LambdaExpression lambda, DbExpression input)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.OneLambdaTranslator.Translate(ExpressionConverter parent, MethodCallExpression call, DbExpression& source, DbExpressionBinding& sourceBinding, DbExpression& lambda)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.OneLambdaTranslator.Translate(ExpressionConverter parent, MethodCallExpression call)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.UnarySequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call)

    in System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq)

    in System.Data.Objects.ELinq.ExpressionConverter.Convert()

    in System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption)

    in System.Data.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)

    in System.Data.Objects.ObjectQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()

    in System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)

    in System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source)

    in Eusoft.LIMS.Rules.Sample.ValidateNotebook.Execute(RuleContext ruleContext)

  TargetSite:

  Assembly Full Name:

  System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

  Namespace:

  System.Data.Objects.ELinq

  Type Name:

  ExpressionConverter

  Method Name:

  ThrowUnresolvableFunction

  Data:

  System.Collections.ListDictionaryInternal

  HelpLink:

  null

  ********************************************************

can I resolve?

Thanks

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 29 2015
Added on Oct 1 2015
0 comments
926 views