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