Как я могу сравнить значение из List <string>с Project.Models.Class? - PullRequest
1 голос
/ 03 августа 2020

Я хочу получить данные из Project.Models.transaction_details с помощью linq, сравнивая значение из списка строки (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 + " ");
                });

Моя проблема (ai) - это ошибка. Невозможно преобразовать строку в Project.Models.transaction_details.

Ответы [ 2 ]

0 голосов
/ 03 августа 2020
var query1 = from t in transactions
         where array1Index.Any(a => a.i == t.Transdate);

попробуйте это

0 голосов
/ 03 августа 2020

вы, вероятно, хотите проверить дату транзакции. попробуйте это:

var query1 = from a in array1Index
    select transactions.Any(t => t.Transdate == a.i) == true ? a.i : "";

EDIT: если вы хотите получить список транзакций, попробуйте следующее:

var query1 = from t in transactions
             where array1Index.Any(a => a.i == t.Transdate)
             select t;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...