Hi all,
I have the following:
Public Shared Function GetStudentTeacherByTeacherIdents(ByVal teacherIdents() As Integer) As EntityCollection
Dim Filter As IRelationPredicateBucket = New RelationPredicateBucket
Filter.PredicateExpression.Add(PredicateFactory.CompareRange( MedfordSchoolDistrict.Elementary.GradeBook.LLBL.StudentTeacherFieldIndex.TeacherIdent, teacherIdents))
Filter.PredicateExpression.AddWithAnd(PredicateFactory.CompareValue( MedfordSchoolDistrict.Elementary.GradeBook.LLBL.StudentTeacherFieldIndex.IsClassRoomTeacher, ComparisonOperator.Equal, 1)) ' Class Room Teachers.
Dim PrefetchPath As IPrefetchPath2 = New PrefetchPath2(CType(EntityType.StudentTeacherEntity, Integer))
PrefetchPath.Add(StudentTeacherEntity.PrefetchPathStudent)
GetStudentTeacherByTeacherIdents = New EntityCollection(New StudentTeacherEntityFactory)
_Adapter.FetchEntityCollection(GetStudentTeacherByTeacherIdents, Filter, PrefetchPath)
Return GetStudentTeacherByTeacherIdents
End Function
It geneates the following sql:
exec sp_executesql N'SELECT [elementarygradebook].[dbo].[StudentTeacher].[StudentTeacherIdent] AS [StudentTeacherIdent],[elementarygradebook].[dbo].[StudentTeacher].[StudentIdent] AS [StudentIdent],[elementarygradebook].[dbo].[StudentTeacher].[TeacherIdent] AS [TeacherIdent],[elementarygradebook].[dbo].[StudentTeacher].[SortKey] AS [SortKey],[elementarygradebook].[dbo].[StudentTeacher].[IsClassRoomTeacher] AS [IsClassRoomTeacher],[elementarygradebook].[dbo].[StudentTeacher].[EnterDate] AS [EnterDate],[elementarygradebook].[dbo].[StudentTeacher].[ExitDate] AS [ExitDate],[elementarygradebook].[dbo].[StudentTeacher].[Note] AS [Note],[elementarygradebook].[dbo].[StudentTeacher].[CreatedUsername] AS [CreatedUsername],[elementarygradebook].[dbo].[StudentTeacher].[CreatedIdent] AS [CreatedIdent],[elementarygradebook].[dbo].[StudentTeacher].[CreatedDate] AS [CreatedDate],[elementarygradebook].[dbo].[StudentTeacher].[UpdatedUsername] AS [UpdatedUsername],[elementarygradebook].[dbo].[StudentTeacher].[UpdatedIdent] AS [UpdatedIdent],[elementarygradebook].[dbo].[StudentTeacher].[UpdatedDate] AS [UpdatedDate] FROM [elementarygradebook].[dbo].[StudentTeacher] WHERE ( [elementarygradebook].[dbo].[StudentTeacher].[TeacherIdent] IN (@TeacherIdent1) And [elementarygradebook].[dbo].[StudentTeacher].[IsClassRoomTeacher] = @IsClassRoomTeacher2)', N'@TeacherIdent1 int,@IsClassRoomTeacher2 bit', @TeacherIdent1 = 2766, @IsClassRoomTeacher2 = 1
And
exec sp_executesql N'SELECT [elementarygradebook].[dbo].[Student].[StudentIdent] AS [StudentIdent],[elementarygradebook].[dbo].[Student].[StudentId] AS [StudentId],[elementarygradebook].[dbo].[Student].[Note] AS [Note],[elementarygradebook].[dbo].[Student].[CreatedUsername] AS [CreatedUsername],[elementarygradebook].[dbo].[Student].[CreatedIdent] AS [CreatedIdent],[elementarygradebook].[dbo].[Student].[CreatedDate] AS [CreatedDate],[elementarygradebook].[dbo].[Student].[UpdatedUsername] AS [UpdatedUsername],[elementarygradebook].[dbo].[Student].[UpdatedIdent] AS [UpdatedIdent],[elementarygradebook].[dbo].[Student].[UpdatedDate] AS [UpdatedDate] FROM [elementarygradebook].[dbo].[Student] WHERE ( [elementarygradebook].[dbo].[Student].[StudentIdent] IN (SELECT [elementarygradebook].[dbo].[StudentTeacher].[StudentIdent] AS [StudentIdent] FROM [elementarygradebook].[dbo].[StudentTeacher] WHERE ( [elementarygradebook].[dbo].[StudentTeacher].[TeacherIdent] IN (@TeacherIdent1) And [elementarygradebook].[dbo].[StudentTeacher].[IsClassRoomTeacher] = @IsClassRoomTeacher2)))', N'@TeacherIdent1 int,@IsClassRoomTeacher2 bit', @TeacherIdent1 = 2766, @IsClassRoomTeacher2 = 1
The actual sql statement executes quite fast but it takes about 10 seconds to return from the Adapter call
Any ideas on this would be appreciated.
Thanks,
Fishy