我正在构建一个 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 但这似乎只适用于相同类型的对象。