目前,我在我的数据库中有多个表格,其中列略有不同,为一个项目定义了不同的“历史”元素。使用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的难题的。 –