目前,我在我的數據庫中有多個表格,其中列略有不同,爲一個項目定義了不同的「歷史」元素。使用Linq從多個表中排列多個列表
所以我有我的物品表;
int ItemId {get;set}
string Name {get;set}
Location Loc {get;set}
int Quantity {get;set}
我可以做一些事情,這些項目,如移動,增加產品數量,減少數量,書給客戶,「匹克」的項目,這樣的事情。所以我做了多個「歷史表」,因爲他們有不同的價值觀,以節省E.g
public class MoveHistory
{
public int MoveHistoryId { get; set; }
public DateTime Date { get; set; }
public Item Item { get; set; }
public virtual Location Location1Id { get; set; }
public virtual Location Location2Id { get; set; }
}
public class PickingHistory
{
public int PickingHistoryId { get; set; }
public DateTime Date { get; set; }
public Item Item { get; set; }
public int WorksOrderCode { get; set; }
}
這是從哪兒我要顯示在列表中顯示的項目一個完整的歷史除了罰款;
項目123被移動於23/02/2013從LOCATION1到LOCATION2
項目123 421
我使用實體框架的工作秩序被挑上24/02/2013, .NET 4.5,WPF以及使用Linq進行查詢,但無法想出一個方法來獲取這些歷史元素列表,並根據它們的日期一一列出。
我可以想到凌亂的方式,就像一個單獨的歷史表,如果需要使用列。甚至可以創建第三個列表,其中包含日期和來自哪個列表,然後在列表中循環選擇相應列表中的相應內容。但是,我覺得必須有更好的方法!
任何幫助,將不勝感激。
這事我以後的那種。瑞安艾米斯可能描述了最新的解決方案,但這是我想要的。謝謝! – MichaelMcCabe
任何想法爲什麼我得到錯誤 - LINQ to Entities不能識別方法'System.String GetDescription()'?我確定它與我添加到歷史記錄類中的描述方法有關,而實體框架不喜歡它。可能是一個不相關的問題 – MichaelMcCabe
你是對的 - 它對我來說看起來非常像ESQL的問題。不幸的是,它的錯誤信息可能相當具有誤導性。我可以建議的最簡單的方法是將'GetDescription()'中的所有行註釋掉,然後將它們替換爲一些簡單的內容,然後恢復它們直到找到故障點。最後一次遇到這種情況時,我就是這樣處理ESQL的難題的。 –