Как преобразовать тип LiteCollection LiteDB в значение Ienumerable? - PullRequest
0 голосов
/ 18 июня 2019

Я использую базу данных, которая называется LiteDB.Это Nosql и бесплатная база данных для Dot-Net.когда я получаю доступ к своим таблицам, он возвращает коллекцию с именем LiteCollection.Я хочу повторить это.но он не реализует метод Getenumerator ().и нет никакой другой индексации по нему.я хочу создать Ienumerable для установки в моем Raddropdownlist (это имя поля со списком в компонентах Telerik).Есть ли способ сделать это?

using (var db = new LiteDatabase(@"MyData.db"))
        {

            // Get cookie collection
            var Cookies2 = db.GetCollection<Cookie>("Cookies2");
            Cookies2.EnsureIndex(x => x.Id);

            foreach (var item in Cookies2) //it couldn't be done
            {

            }
            // or 
            for (int i = 0; i < Cookies2.Count(); i++)
            {
                temp.Add(Cookies2.??)
            }


        }

Ответы [ 2 ]

0 голосов
/ 21 июня 2019

LiteDB предлагает 4 способа чтения ваших данных из БД: FindAll, Find (Query), FindByID и FindOne.Все это возвращает BsonDocument.BsonDocument является объектом KeyValuedPair.Я создал простую функцию, которую я называю «FetchData», которая может читать возвращаемые данные и преобразовывать их в таблицу DatabTable.И вы можете передать DataTable в свой DataGridView с помощью следующего синтаксиса: DataGridView1.DataSource = FetchData.

Пожалуйста, посетите мой канал YouTube для полного учебника по LiteDB (хотя я использовал VB, можно конвертировать VB в C # и наоборотВерсия)

Ссылка на YouTube: https://www.youtube.com/watch?v=fiwJ0XkHIZg

Или вы можете получить полный исходный код на моем репозитории GitHub: https://github.com/Parables/CMS/blob/master/CMS/Modules/MainModule.vb

Если вы нашли этот ответ полезным, пожалуйста,поддержите меня, подписавшись на мой канал на YouTube, и помогите мне расширить мой канал.

Спасибо

0 голосов
/ 18 июня 2019

Упс я нахожу простой способ. В Litecollection есть метод, который возвращает все объекты. метод FindAll () делает это.

          foreach (var item in Cookies2.FindAll())
            {

            }
...