【发布时间】:2020-11-23 05:47:45
【问题描述】:
我想通过使用 linq 从 Project.Models.transaction_details 中检索数据,比较字符串列表 (List) 中的值。
这是我的代码
List<transaction_details> transactions = new List<transaction_details>();
List<string> date_list = new List<string>();
// date_list output is ["2020-01-01","2020-01-02",2020-01-03",...,"2020-01-31"]
while (sdr.Read())
{
transactions.Add(new transaction_details
{
ID = sdr.GetInt32("ID"),
Transdate = sdr.GetDateTime("Transdate"),
Debit = sdr.GetDecimal("Debit"),
TransactionName =sdr.GetString("TransactionName"),
BranchID = sdr.GetString("BranchID")
});
}
var array1Index = date_list.Select((i, index) => new { Index = index, i = i }).ToList();
List<transaction_details> arrayresult = new List<transaction_details>();
var query1 = from a in array1Index
select transactions.Contains(a.i) == true ? a.i : "";
arrayresult = query1.ToList();
arrayresult.ForEach(x => {
Console.Write(x + " ");
});
我的问题是 (a.i) 是一个错误。 无法将“字符串”转换为“Project.Models.transaction_details”。
【问题讨论】:
-
错误指向哪一行?
-
@Minasploit select transactions.Contains(a.i) == true ? a.i : "";
-
@Minasploit 我想比较事务。转换为 date_list 值。
-
在这一行中,transactions.Contains(a.i) 您将交易与 a.i. 进行比较。 var a.i 是一个字符串,因此错误提示您正在尝试将事务与字符串进行比较
-
@Minasploit 是的。如何解决?
标签: c# sql linq model-view-controller