#entity-framework
#entity-framework
Вопрос:
Я пытаюсь загрузить сетку, используя объекты EF.
select * from
[session] inner join [sessionrep] on [session].ID = [sessionrep].repid
inner join [group] on [group].id = [session].groupid
where [sessionrep].repid = x
Я создал частичный класс и добавил в него свойства, которые хотел отобразить в сетке:
Partial Public Class SessionRep
Public ReadOnly Property Name() As String
Get Return Session.Name
End Get
End Property
....
End Class
Я пытался это сделать, но это загружает только активное поле таблицы, остальные поля пусты, хотя количество строк указано правильно.
grdSessions.DataSource = db.SessionReps.Include("Session").Include("Session.Group").Include("Session.Group.Program").Where(Function(r) r.RepID = repID).ToList()
Что я делаю не так? Спасибо.
Комментарии:
1. Вы спрашиваете, как воспроизвести SQL-запрос с помощью LINQ to Entities? Было бы проще ответить, если бы вы могли показать свои классы
Session
иSessionRep
и как они связаны. И что такое «активное поле»?2. Да, я только изучаю синтаксис LINQ. Возникли проблемы при написании этого запроса с использованием Linq. Я не хочу использовать частичный класс, и я думаю, что Linq to Entities — это правильный путь.
Ответ №1:
Нет необходимости в частичных классах.
Dim query =
From s In db.Sessions
From d In db.SessionReps
Where s.ID = d.RepID And d.RepID = repID
Select s
grdSessions.DataSource = query.ToList()
grdSessions.DataBind()