這是非常簡單的linq,我剛剛開始。我已將問題追溯到三個來源之一,但不知道如何解決問題。所以這裏是代碼,我會解釋它下面的問題。Linq to Sql沒有給出正確的數據
XAML綁定:
<ListBox Name="lstJobs" ItemsSource="{Binding Path=Title}" DockPanel.Dock="Top"
MinWidth="150" MinHeight="200" MaxHeight="250"
ScrollViewer.VerticalScrollBarVisibility="Visible"
SelectionChanged="lstJobs_SelectionChanged" />
C#代碼隱藏(窗口中加載事件):
TMDataContext TMDataBase = new TMDataContext();
lstJobs.ItemsSource = from j in TMDataBase.JobDetails
select j;
結果:
問題: 我知道連接正在工作,因爲JobDtail表中只有3條記錄。
回到大學,我們瞭解到,如果ToString方法沒有超載以強制其他操作,那麼類會輸出它們的名字。問題是我不想修改由L2S生成的類,因爲它們是自動生成的,任何修改都會在以後丟失。我將進行更改,以便對自動生成的代碼進行更改是多餘的。
在做L2S之前,我建立了數據庫,還有一些「實體」類都是使用繼承來設計的,我必須刪除它們,因爲它們與L2S類發生衝突。 L2S自動生成的類對我來說已經很難了,我希望能夠替換它們的屬性,構造函數和添加方法。或者至少重命名或將它們擴展到整潔的地方,我可以重新實現我的繼承結構。
我使用的方法很簡單。用戶界面的一組類。一組「控制」類來處理業務邏輯,以及一組「實體」類來與數據庫連接。但是整個L2S自動化類的生成通過替換我的實體類來解決這個問題。
無論如何,我的第一個問題是我想在每個記錄的列表框中顯示作業標題(一個字段形成作業詳細信息表)。當選擇在列表框中改變時,相關記錄將被訪問,並將填入一堆文本框,以允許用戶編輯該記錄。
任何幫助,這將是真正appreicated。提前致謝。
只需添加'DisplayMemberPath =「標題」'。這應該仍然綁定您的JobDetails對象,但顯示作業詳細信息對象的Title屬性。 – thoean
謝謝你,它的工作。併爲快速響應。 –
當然,如果您只需要標題而不是其他細節信息,那麼如果您只投影標題,而不是爲每條記錄提取和保存整個JobDetail對象實例,則內存佔用和性能會更好。 –