ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
LiteDBは、シンプル、高速、軽量の組み込み .NET ドキュメントデータベースです。 LiteDB .NET は MongoDB データベースに触発されたもので、その API は MongoDB の公式 .NET API に非常によく似ています。 LiteDBはサーバーレスデータベースで、小規模なプロジェクトやモバイルアプリケーションに適している。
この記事では、プロジェクトでLiteDBの機能を活用するための正確な手順を説明します。 また、IronSoftware製の.NETライブラリであるIronPDFを使用してPDFを生成・操作する方法や、LiteDBデータベースのコンテンツをPDFとして出力して閲覧・共有する方法も紹介します。
組み込みデータベース: 別のサーバーは必要ありません。 LiteDBはアプリケーションのプロセス内で実行されます。
シングル・データ・ファイル: デプロイとバックアップを簡素化し、すべてのデータをシングル・ファイル・データベースに保存できます。
BSONフォーマット:ストレージにBSONフォーマットを使用し、高速な読み書きを実現。
LINQサポート: .NET開発者が直感的に操作できるように、クエリ用にLINQを完全にサポートしています。
ACIDトランザクション: ACIDトランザクションのサポートにより、データの整合性を確保します。
Visual Studioでプロジェクトを開きます。 次に、ソリューションエクスプローラーでプロジェクトを右クリックし、"Manage NuGet Packages "を選択します。LiteDBを検索してインストールし、このデータベースソリューションをプロジェクトに簡単に組み込みます。
または、パッケージマネージャーコンソールを使ってインストールすることもできます。 NuGetパッケージマネージャーコンソールでLiteDBをインストールするには、以下のコマンドを使用します:
Install-Package LiteDB
Install-Package LiteDB
IRON VB CONVERTER ERROR developers@ironsoftware.com
インストールしたら、アプリケーションでLiteDBを使い始めることができます。 その使い方を説明するために、いくつかの例を見てみよう。
まず、データを表す簡単なProductクラスを作りましょう:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
次に、データベースを作成し、商品を挿入します:
using LiteDB;
using System;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
var productList = new[]
{
new Product { Id = 201, Name = "Apple", Price = 0.99m },
new Product { Id = 202, Name = "Banana", Price = 0.59m },
new Product { Id = 203, Name = "Orange", Price = 0.79m },
new Product { Id = 204, Name = "Grape", Price = 2.99m },
new Product { Id = 205, Name = "Watermelon", Price = 4.99m }
};
foreach (var product in productList)
{
products.Insert(product);
}
Console.WriteLine("Product inserted successfully.");
}
}
}
using LiteDB;
using System;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
var productList = new[]
{
new Product { Id = 201, Name = "Apple", Price = 0.99m },
new Product { Id = 202, Name = "Banana", Price = 0.59m },
new Product { Id = 203, Name = "Orange", Price = 0.79m },
new Product { Id = 204, Name = "Grape", Price = 2.99m },
new Product { Id = 205, Name = "Watermelon", Price = 4.99m }
};
foreach (var product in productList)
{
products.Insert(product);
}
Console.WriteLine("Product inserted successfully.");
}
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
このコードでは、「MyData.db」という名前のLiteDBデータベースへの接続を初期化し、「products」というコレクションを取得します。 そして、ID、Name、Priceなどのさまざまなプロパティを持つProductオブジェクトの配列を作成する。配列内の各商品は、データベース内の "products" コレクションに挿入されます。 全商品の挿入に成功すると、コンソールに確認メッセージが表示される。
出力は以下の通り:
ユーザー・アカウントを管理するモバイル・アプリケーションを開発しているとしよう。 各ユーザーは、名前、メールアドレス、プリファレンスを含むプロファイルを持っています。(JSONオブジェクトとして格納)そしてお気に入りアイテムのリスト。 ここでは、LiteDb.NETがどのようにデータストレージを簡素化できるかを説明します:
このコードでは、ユーザーデータを表す User クラスと、LiteDb.NET データベースのユーザー操作を管理する UserManager クラスを定義しています。
using LiteDB;
public class User
{
[BsonId]
public string Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public Dictionary<string, string> Preferences { get; set; }
public List<string> FavoriteItems { get; set; }
}
public class UserManager
{
private readonly LiteDatabase db;
public UserManager(string connectionString)
{
db = new LiteDatabase(connectionString);
}
public void SaveUser(User user)
{
var collection = db.GetCollection<User>("users");
collection.Insert(user);
}
public User GetUser(string userId)
{
var collection = db.GetCollection<User>("users");
return collection.FindById(userId);
}
public void UpdateUser(User user)
{
var collection = db.GetCollection<User>("users");
collection.Update(user);
}
public void DeleteUser(string userId)
{
var collection = db.GetCollection<User>("users");
collection.Delete(userId);
}
}
using LiteDB;
public class User
{
[BsonId]
public string Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public Dictionary<string, string> Preferences { get; set; }
public List<string> FavoriteItems { get; set; }
}
public class UserManager
{
private readonly LiteDatabase db;
public UserManager(string connectionString)
{
db = new LiteDatabase(connectionString);
}
public void SaveUser(User user)
{
var collection = db.GetCollection<User>("users");
collection.Insert(user);
}
public User GetUser(string userId)
{
var collection = db.GetCollection<User>("users");
return collection.FindById(userId);
}
public void UpdateUser(User user)
{
var collection = db.GetCollection<User>("users");
collection.Update(user);
}
public void DeleteUser(string userId)
{
var collection = db.GetCollection<User>("users");
collection.Delete(userId);
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
この実装では、LiteDb.NETのユーザーデータ管理機能を効果的に活用している。 Userクラスはユーザー情報を保存し、UserManagerクラスはデータベース内のユーザーを保存、取得、更新、削除するメソッドを提供します。
LiteDBは、ユーザー同時実行を必要としない小規模から中規模のアプリケーションに最適です。 例えば、シンプルかつ迅速にデータを保存したい個人用ゲーム機アプリには最適だ。 C#のみで開発され、450KB以下の軽量で、外部依存に依存しない。
さらにいくつかのポイントがある。GitHubページ:
サーバーレスNoSQLドキュメント・ストア
MongoDBに似たシンプルなAPI
スレッドセーフ
完全にC#で記述されたLiteDBは、.NET 4.5、NETStandard 1.3/2.0と互換性があり、450KB未満の単一のDLLファイルにパッケージされています。
完全なトランザクションをサポートするACID
書き込み失敗後のデータ復旧(WALログファイル)
DESによるデータファイルの暗号化(AES)暗号技術
Plain Old CLR オブジェクトを簡単にマッピングできます。(ポコ)クラスを BsonDocument に変換するには、属性または LiteDB が提供するフルエントマッパー API を使用します。
ファイルの保存とデータのストリーム(MongoDBのGridFSのように)
高速検索のための文書フィールドのインデックス
SQLライクなコマンドによるデータへのアクセス/変換
IronPDFC# PDFライブラリの最高峰であるこのライブラリは、以下のようなシームレスな機能を提供します。**創造,**編集中、および操る。.NETプロジェクトでPDFの。 以下のようなタスクのための包括的なAPIを提供する。HTMLからPDFへ変換、ダイナミックPDF生成、データ抽出。 .NET Chromiumエンジンを利用することで、PDFファイルへのHTMLの正確なレンダリングを保証し、.NET Core、.NET Standard、.NET Frameworkの多様なプロジェクトのニーズに対応します。 IronPDFはウェブ、デスクトップ、コンソールアプリケーションをサポートし、HTMLコンテンツからのPDF生成の正確さ、シンプルさ、効率性を保証します、
プロジェクトでIronPDFを開始するには、Visual StudioのNuGetパッケージマネージャからライブラリをインストールしてください。 それなら、以下の簡単な手順に従うだけだ:
Visual Studioを開き、ソリューション エクスプローラーに移動します。
依存関係を右クリックし、「NuGetパッケージの管理」オプションを選択します。
「ブロウズ」タブを選択し、「IronPdf」を検索してください。
IronPDFを選択して、「インストール」をクリックします。
または、Visual Studioのパッケージ・マネージャー・コンソールを使用して、以下のコマンドを実行し、ライブラリをインストールすることもできます:
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
HTMLコンテンツからPDFを生成するためにIronPDFを使用する簡単なコード例を示します。 ここでは、LiteDBとIronPDFの機能を組み合わせて、LiteDB内のデータを閲覧用のPDFとして出力する方法を紹介します:
using DemoLiteDB1;
using LiteDB;
using System.Text;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
var productList = new[]
{
new Product { Id = 101, Name = "Apple", Price = 0.99m },
new Product { Id = 102, Name = "Banana", Price = 0.59m },
new Product { Id = 103, Name = "Orange", Price = 0.79m },
new Product { Id = 104, Name = "Grape", Price = 2.99m },
new Product { Id = 105, Name = "Watermelon", Price = 4.99m }
};
foreach (var product in productList)
{
products.Insert(product);
}
Console.WriteLine("Product inserted successfully.");
// Fetch all products from the database
var allProducts = GetAllProducts(db);
// Generate HTML content from the product list
string htmlContent = GenerateHtml(allProducts);
// Generate the PDF from the HTML content
GeneratePDF(htmlContent);
Console.WriteLine("PDF generated successfully.");
}
}
public static List<Product> GetAllProducts(LiteDatabase db)
{
var products = db.GetCollection<Product>("products");
return products.FindAll().ToList();
}
public static void GeneratePDF(string data)
{
IronPdf.License.LicenseKey = "Your-License-Key";
Console.WriteLine("PDF Generating Started...");
var renderer = new ChromePdfRenderer();
Console.WriteLine("PDF Processing ....");
var pdf = renderer.RenderHtmlAsPdf(data);
string filePath = "Data.pdf";
pdf.SaveAs(filePath);
Console.WriteLine($"PDF Generation Completed, File Saved as {filePath}");
}
public static string GenerateHtml(List<Product> products)
{
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<html><head><style>table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; text-align: left; }</style></head><body>");
htmlBuilder.Append("<h1>Product List</h1>");
htmlBuilder.Append("<table><tr><th>ID</th><th>Name</th><th>Price</th></tr>");
foreach (var product in products)
{
htmlBuilder.Append($"<tr><td>{product.Id}</td><td>{product.Name}</td><td>{product.Price:C}</td></tr>");
}
htmlBuilder.Append("</table></body></html>");
return htmlBuilder.ToString();
}
}
using DemoLiteDB1;
using LiteDB;
using System.Text;
class Program
{
static void Main()
{
using (var db = new LiteDatabase(@"MyData.db"))
{
var products = db.GetCollection<Product>("products");
var productList = new[]
{
new Product { Id = 101, Name = "Apple", Price = 0.99m },
new Product { Id = 102, Name = "Banana", Price = 0.59m },
new Product { Id = 103, Name = "Orange", Price = 0.79m },
new Product { Id = 104, Name = "Grape", Price = 2.99m },
new Product { Id = 105, Name = "Watermelon", Price = 4.99m }
};
foreach (var product in productList)
{
products.Insert(product);
}
Console.WriteLine("Product inserted successfully.");
// Fetch all products from the database
var allProducts = GetAllProducts(db);
// Generate HTML content from the product list
string htmlContent = GenerateHtml(allProducts);
// Generate the PDF from the HTML content
GeneratePDF(htmlContent);
Console.WriteLine("PDF generated successfully.");
}
}
public static List<Product> GetAllProducts(LiteDatabase db)
{
var products = db.GetCollection<Product>("products");
return products.FindAll().ToList();
}
public static void GeneratePDF(string data)
{
IronPdf.License.LicenseKey = "Your-License-Key";
Console.WriteLine("PDF Generating Started...");
var renderer = new ChromePdfRenderer();
Console.WriteLine("PDF Processing ....");
var pdf = renderer.RenderHtmlAsPdf(data);
string filePath = "Data.pdf";
pdf.SaveAs(filePath);
Console.WriteLine($"PDF Generation Completed, File Saved as {filePath}");
}
public static string GenerateHtml(List<Product> products)
{
StringBuilder htmlBuilder = new StringBuilder();
htmlBuilder.Append("<html><head><style>table { width: 100%; border-collapse: collapse; } th, td { border: 1px solid black; padding: 8px; text-align: left; }</style></head><body>");
htmlBuilder.Append("<h1>Product List</h1>");
htmlBuilder.Append("<table><tr><th>ID</th><th>Name</th><th>Price</th></tr>");
foreach (var product in products)
{
htmlBuilder.Append($"<tr><td>{product.Id}</td><td>{product.Name}</td><td>{product.Price:C}</td></tr>");
}
htmlBuilder.Append("</table></body></html>");
return htmlBuilder.ToString();
}
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
このコードはLiteDBデータベースに接続し、商品リストを追加し、すべての商品を取得し、商品リストのHTML表現を生成します。このHTMLコンテンツはIronPDFライブラリを使ってPDFファイルを作成するために使われます。 このプロセスには、商品を追加するメソッド、商品を取得するメソッド、商品リストをHTMLに変換するメソッド、PDFを生成するメソッドが含まれています。
LiteDBは、小規模プロジェクトやモバイルアプリケーションに理想的な、軽量でサーバーレスの組み込みドキュメントデータベースソリューションをC#開発者に提供します。
同時にだ、IronPDFHTMLからPDFへの変換とNuGetの統合により、.NETプロジェクト内でのPDF生成と操作を簡素化し、最高のC# PDFライブラリとして登場した。 LiteDBとIronPDFはどちらも開発者に価値あるツールを提供し、LiteDBはデータベース管理に、IronPDFはPDF処理に秀でている。
IronPDFは提供します無料トライアルPDFの生成と操作において、その可能性を最大限に引き出すことができます。
9つの .NET API製品 オフィス文書用