ASP.NET MVC 3 将 2 个列表与模型对象进行比较以获得重复项
本文关键字:比较 对象 模型 MVC NET 列表 ASP | 更新日期: 2023-09-27 18:34:56
我正在构建一个 ASP.NET MVC 3应用程序,其中我根据此模型列出了自定义对象:
public class AbnAmroTransaction
{
public int TransactionId { get; set; }
public int AccountNumber { get; set; }
public string Currency { get; set; }
public int TransactionDate { get; set; }
public int InterestDate { get; set; }
public decimal StartBalance { get; set; }
public decimal EndBalance { get; set; }
public decimal Amount { get; set; }
public string Description { get; set; }
public int CategoryId { get; set; }
}
我还有第二个列表,其中包含自定义对象类型"事务"的略相似的对象(我使用 DBML 从我的 SQL Server 2008 数据库中获得(:
Transaction LinqToSql Object
int TransactionId
int ImportId
int CategoryId
DateTime DateTime
Nvarchar(MAX) Currency
Money Amount
Nvarchar(MAX) Description
我正在尝试创建一个包含所有AbnAmroTransactions的第三个列表,其中AbnAmroTransaction.TransactionId不在Transactions列表中(TransactionId(。我如何在不必遍历两个列表的情况下执行此操作,这似乎是一种非常低效的方法?
我找到了这篇文章:http://msdn.microsoft.com/en-us/library/system.collections.iequalitycomparer.equals.aspx但这似乎只适用于相同类型的对象。
如果您使用的是 linq,请查看 Except。
var list1 = new List<int>() {1,2,3,4,5};
var list2 = new List<int>() {4,5,6,7};
var newList = list1.Except(list2);
新列表将包含 {4,5}
但是您必须先检查交易 ID。