Я пытаюсь сделать следующее: http://msdn.microsoft.com/en-us/library/dd456857.aspx
Я создал функцию в файле edmx прямо перед элементом схемы:
<Function Name="YearsSince" ReturnType="Edm.Int32">
<Parameter Name="date" Type="Edm.DateTime" />
<DefiningExpression>
Year(CurrentDateTime()) - Year(AppliedDate)
</DefiningExpression>
</Function>
</Schema>
Теперь я хочу бытьвозможность использовать это в запросе.Я создал следующий код в частичном классе ApplicantPosition
[EdmFunction("HRModel", "YearsSince")]
public static int YearsSince(DateTime date)
{
throw new NotSupportedException("Direct calls are not supported.");
}
И я пытаюсь выполнить следующий запрос
public class Class1
{
public void question()
{
using (HREntities context = new HREntities())
{
// Retrieve instructors hired more than 10 years ago.
var applicantPositions = from p in context.ApplicantPositions
where YearsSince((DateTime)p.AppliedDate) > 10
select p;
foreach (var applicantPosition in applicantPositions)
{
Console.WriteLine(applicantPosition.);
}
}
}
}
YearsSince не распознан, учебник по MSDN не отображается точногде я должен поставить функцию, так что это может быть моей проблемой.