按特定条件比较两个列表,并更新/插入匹配条件的记录

时间:2017-04-25 09:03:37

标签: c# asp.net asp.net-mvc asp.net-mvc-5 transactions

我编写了一个代码/数据库设计,我在应用程序中映射了以下类:

2,0,4,8

和交易类:

public class Items 
{
public int ItemsId {get;set;} // suppose this is the PK in my table
public string ItemId { get; set; } // this is not same as table PK
public string Title  { get; set; }
public int QuantitySoldTotal { get; set; } 
public List<Transactions> transactions { get; set; }
}

所以现在我的情况是我在我的数据库中有旧项目及其交易,如下所示:

public class Transactions 
{
public string TransactionID { get; set; }
public DateTime TransactionDate { get; set; }
public int SaleQuantity { get; set; }
public int ItemsId {get;set;} // lets imagine this is the FK in my table Transactions
}

现在我有一个这样的新列表:

var oldItemsAndTransactions = new List<Items>(); // suppose this is from DB and it has 5000 items, and each of these items contains a collection of transactions...

现在这里是我感到困惑的部分,我不知道接下来该做什么:

  • 我想在Items表中更新那些具有不同QuantitySoldTotal属性的项,并添加事务的差异(意味着只添加新事务)。新事务是表中具有不同TransactionID参数的事务。

  • 项目表中根本没有的项目(意思是他们的ItemID字符串 - 不是PK,不是那里,我想插入所有这些项目及其相应的交易) ...

我认为这可以通过IEqualityComparer来完成,但我真的不确定如何做到这一点?有人可以帮助我吗?

P.S。这与现在我处理与列表列表进行比较的情况不同,我想以高效快捷的方式做到这一点吗?

0 个答案:

没有答案