Да. Это поддерживается, вот краткий обзор того, как это сделать.
Измените свой EF SSDL:
<Function Name="AvgStudentGrade" ReturnType="decimal" Schema="dbo" >
<Parameter Name="studentId" Mode="In" Type="int" />
</Function>
Добавьте заглушку метода с соответствующими атрибутами:
[EdmFunction("SchoolModel.Store", "AvgStudentGrade")]
public static decimal? AvgStudentGrade(int studentId)
{
throw new NotSupportedException("Direct calls are not supported.");
}
Используйте это:
var students = from s in context.People
where s.EnrollmentDate != null
select new
{
name = s.LastName,
avgGrade = AvgStudentGrade(s.PersonID)
};
Дополнительная информация и полный образец по адресу:
http://msdn.microsoft.com/en-us/library/dd456847(VS.100).aspx