3

私は PHP から来ており、最終的には NHibernate や Microsoft Entity Framework などに飛び込みますが、今のところ、データベースに接続するための PHP の PDO のような単純なものが本当に好きです。

$db = new PDO('sqlite:database');
$db->exec('delete from users');

PDO はデータベース上の接続を抽象化し (sqlite だけでなく、それが何であれ)、準備されたステートメントなどを実行するためのいくつかの一般的な方法を提供します。.NET でこれほど単純なものはありますか?

obs: C# を使い始めたばかりなので、ライブラリをプロジェクトにリンクする方法やその他のセットアップ手順 (必要な場合) について具体的に教えていただければ幸いです (: ~ 私は VS2012 を使用しています

4

2 に答える 2

7

.NET では、リレーショナル データベースのクエリを可能にするテクノロジをADO.NETと呼びます。例えば:

using (var conn = new SQLiteConnection("Your connection string comes here"))
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = "DELETE * FROM users";
    cmd.ExecuteNonQuery();
}

この例では、SQLite 用の ADO.NET プロバイダーを使用しましたdownload from here

したがって、ここでの最初のステップは、前述の Web サイトから .NET のマネージド プロバイダーをダウンロードすることです。

次の手順ではSystem.Data.SQLite.dll、ソリューション エクスプローラーで [参照] ノードを右クリックし、アセンブリを選択して、プロジェクト内のアセンブリを参照します。SQLite には x86 アセンブリと x64 アセンブリの両方があるため、ターゲット アーキテクチャに最も適したアセンブリを選択してください。

アセンブリを参照するSQLiteConnectionと、例で示した、ADO.NET 基本クラスをオーバーライドしている型がコードで使用できるようになり、それを直接使用してデータベースにクエリを実行できます。using System.Data.SQLite;アセンブリを参照したら、それらのクラスをスコープに入れるディレクティブをファイルに追加することを忘れないでください。

ダウンロード、抽出などのすべての面倒を経験したくない場合... SQLite 依存関係は、利用可能なSystem.Data.SQLite NuGetをインストールするだけです。

ADO.NET がどのように機能するかを理解することは、NHibernate や Entity Framework などの ORM フレームワークが将来どのように機能するかを理解するための基礎となるため、基本から始めることが非常に重要です。

于 2012-12-25T15:50:54.840 に答える