ошибка: не удалось найти реализацию запроса для типа источника с данными и соединение не найдено при попытке объединить две таблицы данных - PullRequest
0 голосов
/ 19 мая 2018

Невозможно объединить две таблицы с помощью linq - я получаю эту ошибку

Не удалось найти реализацию запроса для типа источника с датой и соединение не найдено при попытке объединить две таблицы данных

Любые возможные решения, пожалуйста

DataSet dsSales = OfflineBilling.CreateDatasetFromXML("Salesmaster.xml");

DataTable dtmaster = dsSales.Tables[0].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();
DataTable dtitems = dsSales.Tables[1].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();

var query = from d in dtmaster
            join c in dtitems on d.ReceiptId equals c.ReceiptId
            .Select(m => new
                        {
                            ReceiptId = d.ReceiptId
                        });

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

DataSet dsSales = OfflineBilling.CreateDatasetFromXML ("Salesmaster.xml");DataTable dtmaster = dsSales.Tables [0] .AsEnumerable (). Where (x => x.Field ("ReceiptId") == ReceiptId.ToString ()). CopyToDataTable ();DataTable dtitems = dsSales.Tables [1] .AsEnumerable (). Где (x => x.Field ("ReceiptId") == ReceiptId.ToString ()). CopyToDataTable ();

    var query = from d in dtmaster.AsEnumerable()
                join c in dtitems.AsEnumerable() on d.Field<string>("ReceiptId") equals c.Field<string>("ReceiptId")
                .Select(new
                {
                    ReceiptId = d.Field<string>("ReceiptId")
                });

На самом делеработает после удаления m => в вашем ответе, спасибо.

0 голосов
/ 19 мая 2018

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

        DataSet dsSales = OfflineBilling.CreateDatasetFromXML("Salesmaster.xml");
        DataTable dtmaster = dsSales.Tables[0].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();
        DataTable dtitems = dsSales.Tables[1].AsEnumerable().Where(x => x.Field<string>("ReceiptId") == ReceiptId.ToString()).CopyToDataTable();


        var query = from d in dtmaster.AsEnumerable()
                    join c in dtitems.AsEnumerable() on d.Field<string>("ReceiptId") equals c.Field<string>("ReceiptId")
                    .Select(new
                    {
                        ReceiptId = d.Field<string>("ReceiptId")
                    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...