我收到了System.NullReferenceException
我发现此问题已经在TransactionDataList.Where(x => x.Card.PortID == Port)
专门针对x.Card.PortID
。
有人可以向我解释造成这种情况的原因以及如何解决这个问题?
搜索查询:
错误消息
对象引用未设置为对象的实例。描述:一个 在执行当前Web期间发生了未处理的异常 请求。请查看堆栈跟踪以获取有关的更多信息 错误以及它在代码中的起源。
异常详细信息:System.NullReferenceException:不是对象引用 设置为对象的实例。
源错误:第40行:第41行:if(端口> 0){Line 42:TransactionDataList = TransactionDataList.Where(x => x.Card.PortID == Port);第43行:}第44行:
代码
DBEntities db = new DBEntities();
List<Transaction> QueriedTransactionList;
QueriedTransactionList = db.Transactions.ToList();
IEnumerable<TransactionViewModel> TransactionDataList = QueriedTransactionList.Select(x => new TransactionViewModel
{
TTransactionID = x.TTransactionID,
BatchID = x.BatchID,
TransactionDateTime = x.TransactionDateTime,
TransactionStatus = x.TransactionStatus,
TaxPayerName = x.Card.TaxPayer.TaxPayerName,
TaxPayerEmail = x.Card.TaxPayer.TaxPayerEmail,
TaxPayerTIN = x.Card.TaxPayer.TaxPayerTIN
}).GroupBy(x => x.BatchID).Select(x => x.LastOrDefault()).OrderByDescending(x => x.TTransactionID);
var Port = Convert.ToInt32(Request.QueryString["Port"]);
var Status = Request.QueryString["Status"];
var TIN = Request.QueryString["TIN"];
if ( Port > 0 ){
TransactionDataList = TransactionDataList.Where(x => x.Card.PortID == Port);
}
TransactionDataList = TransactionDataList.ToList();