Я все еще достаточно новичок в дозвуке и нахожу самые простые вещи немного хитрыми.У меня есть простой запрос, который объединяет две таблицы: Профиль и Подписка.
ProfileCollection profiles =
new Select().From<Profile>()
.InnerJoin(Subscription.ProfileIdColumn,Profile.ProfileIDColumn )
.Where(Subscription.ExpiryDateColumn).IsLessThan(Date)
.ExecuteAsCollection <ProfileCollection > ();
return profiles;
Я хочу отобразить следующие столбцы в моей сетке: Profile.Name и Subscription.ExpiryDate и, возможно, несколько других.
Ранее я использовал LLBLGen, и я мог сделать что-то вроде (обратите внимание, что это псевдокод):
<repeater>
<itemitemplate>
<%#Eval("Name")%>
<%#Eval("Subscription.ExpiryDate")%>
</itemitemplate>
</repeater>
Но я получаю ошибку что-то вроде
Подписка не является членом профиля.
Я попытался обновить свой запрос, чтобы он имел имена столбцов в выборке, но я также получил вышеуказанную ошибку.
ProfileCollection profiles =
new Select(Subscription.ExpiryDateColumn.PropertyName,
Profile.NameColumn.PropertyName).From<Profile>()
.InnerJoin(Subscription.ProfileIdColumn,Profile.ProfileIDColumn )
.Where(Subscription.ExpiryDateColumn).IsLessThan(Date)
.ExecuteAsCollection <ProfileCollection > ();
return profiles;
Кажется,как что-то действительно общее, и я нахожу несколько мест, где мне нужно привязать сетку и вызвать столбцы из объединяющей таблицы, но это кажется невозможным.
Может кто-нибудь сказать мне, что я пропускаю, илидайте мне знать, как лучше связать строки соединенных таблиц с сетками с дозвуковым эффектом?
Мое решение Хорошо, из приведенных ниже ответов, я должен сделать следующее: У меня естьиспользуется *, чтобы я мог вернуть все строки
Dataset profiles =
new Select("Subscription.*","Profile.*").From<Profile>()
.InnerJoin(Subscription.ProfileIdColumn,Profile.ProfileIDColumn )
.Where(Subscription.ExpiryDateColumn).IsLessThan(Date)
.ExcecuteDataset();
return profiles;
В моей сетке теперь я могу связать <% # Eval ("Name")%> из таблицы профиля и <% # Eval (Subscription.ExpiryDate ")%> от подписки на мою сетку
Есть еще предложения? Несмотря на то, что вышеперечисленное работает, я недоволен использованием "Подписка. ", "Профиль. " вПри выборе, я бы предпочел использовать некоторые строго типизированные значения, если что-то меняется, поэтому я получаю ошибки компиляции, а не просто сбой при попытке выполнить запрос!
Спасибо
Bex