2017-08-17 6 views
0

私は、COMインターフェイスを提供しているDelphiでの大きなアプリケーションのために、.NETでプラグインを開発しています。db接続なしでSQLクエリ/コマンドを生成

生のSQLクエリ/コマンドを作成するために、そのメソッドだけを使用できます。結果をエンティティまたはエンティティのリストに変換し、これらの値をUIコントロールにバインドします。私は自分の追跡システムを使ってエンティティの変更を追跡し、すべてのクラッシュ操作を実行するようにしています。

db接続を必要とせず、生のSQLクエリ/コマンドを出力できる(マイクロ)ORMでエンティティを操作する方法はありますか?

私は主な利点 - パラメトリッククエリによる脆弱性からの保護と、生のSQLとのあまり密接に結びついていないことを探しています。

答えて

0

あなたが探しているものではないかもしれませんが、コメントを追加することはできませんので、これを回答として書いています。

私はI can use only their methodsを理解できませんでしたが、データベースに接続するためにC#を使用できる場合はSQLiteが役に立ちます。

非常に簡単にインストールできます。それにはNuGetパッケージがあります。それはその "管理スタジオ" - DB Browser for SQLiteを持っています。それは完全なSQLクエリをサポートしていませんが、私の意見ではカバレッジは十分です。

あなたはEntity Frameworkの私はあなたがEntity Frameworkを6でのSQLiteを組み合わせることができますが、自分でそれをやったことがないことを聞いた

を使用することができます。あなたはそれを撃つことができます。 SQLiteデータベースとエンティティフレームワークの接続に役立つチュートリアルをいくつか紹介します。

First tutorial

Second tutorial using Repository pattern

あなたはEntity Frameworkのを使用できない場合は

SQLiteはデータベースへの基本的な接続が必要です。

string path = Server.MapPath("Path to your sqlite db"); 

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=" + path + "nameOfYourDBFile.sqlite;Version=3;"); 
m_dbConnection.Open(); 
SQLiteCommand command = new SQLiteCommand(m_dbConnection); 
command.CommandText = "INSERT INTO YourTable (Name) VALUES(@name)"; 
command.CommandType = CommandType.Text; 
command.Parameters.Add(new SQLiteParameter("@name", "sampleName")); 
command.ExecuteNonQuery(); 

m_dbConnection.Close(); 

PS:SQLite用のdelphiで書かれたライブラリを探すことができます。

+0

ありがとうございます。 MS SQLへのメインデータベース接続(コンテキスト)は、生のSQLクエリー/コマンドを入れるメソッドのみを提供するホストアプリケーション内にあります。 – jurajvt

+0

私は理解しているから、あなたは未接続のSQLクエリ/コマンドを使ってC#でMS SQLからデータを取得したいのですか? –

+0

私が必要とするのは、Entity Framework、NHibernate、Dapperなどのエンティティでの作業です。しかし、私は文脈がありません。 "私は" SQLクエリー/コマンドを舞台裏で生成し、これらの生成されたクエリ/コマンドをインターフェースメソッドに与える必要があります。それ以上のものはありません。 – jurajvt

関連する問題