EFコアを使用せずにASP.NETコアWeb APIを作成しようとしています。代わりに、System.Data.SQLClientを使用してSQLサーバーに接続し、単純な古いSQLを使用してクエリを実行したいと考えています。つまり、私は接続を確立する方法を考え出すのに少し問題があります。私は、EFでこれを行う方法に対処する多くのチュートリアルをオンラインで見つけました。しかし、私はそれがなくしてどうやっているのか少し難解です。EFを使用せずにASP.NET Core Web APIでデータベースに接続するにはどうすればよいですか?
1
A
答えて
4
あなたが任意の.NETアプリケーションで同じようにあなたは、まったく同じようにそれを行う:
using (var conn = new System.Data.SqlClient.SqlConnection(connectionString)) {
conn.Open();
using (var cmd = conn.CreateCommand()) {
cmd.CommandText = "SELECT 'hello world'";
using (var reader = cmd.ExecuteReader()) {
while (reader.Read()) {
...
}
}
}
}
あなたはアイデンティティがものを主張するようにasp.netコアの一部は、EFを必要とすることができますので、あなたがします独自の認証を処理する必要があり、セキュリティ属性などを使用できなくなります。私はこのルートをいくつかのasp.netコアプロジェクトに残しました。
0
SqlConnectionクラスとSqlCommandクラスを使用する必要があります。 documentation
private static void CreateCommand(string queryString, string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
CreateCommand("insert into...", "[your connection string]");
からAditionally、Dapperは、データにアクセスするための優れた選択肢である、のIDbConnectionを拡張するオブジェクトマッパーであるので、あなたは、オブジェクトの作成を心配する必要はありません。 dapperのドキュメントから
public class Dog
{
public int? Age { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }
public float? Weight { get; set; }
public int IgnoredProperty { get { return 1; } }
}
var guid = Guid.NewGuid();
var dog = connection.Query<Dog>("select Age = @Age, Id = @Id", new { Age = (int?)null, Id = guid });
関連する問題
- 1. .NET Core APIがデータベース接続をクリーンアップするにはどうすればよいですか?
- 2. MVCでWebサービスを使用してデータベースに接続するにはどうすればよいですか?
- 3. EFを使用してASP.NET Coreのインデックスを定義するにはどうすればよいですか?
- 4. Asp.Net Web APIでHttps/SSL接続を実装するにはどうすればよいですか?
- 5. C#ASP.NET Core APIフレームワークでMongoDBドライバを使用するにはどうすればよいですか?
- 6. GKPeerPickerControllerを使用せずにピアツーピア接続を設定するにはどうすればよいですか?
- 7. 開発時に接続せずに、ASP.NETサイトでMySQLデータベースを使用するにはどうすればよいですか?
- 8. ASP.NET MVCまたはCoreでGoogle Credential Management APIを使用するにはどうすればよいですか?
- 9. sudoを使用せずに.Net CoreをUbuntuにインストールするにはどうすればよいですか?
- 10. ASP.NET Core MVC Web APIでJSON結果をフォーマットするにはどうすればよいですか?
- 11. データベースをAPI.AIに接続するにはどうすればよいですか?
- 12. データベース接続を解決するにはどうすればよいですか?
- 13. フェデレーションサービスを使用せずにASP.NETでSAML 2.0を実装するにはどうすればよいですか?
- 14. ウェブアプリケーションとJetty Runnerを使用してデータベースに接続するにはどうすればよいですか?
- 15. ASP.NET COREにレスポンスデータをフォーマットするにはどうすればよいですか?
- 16. .NET Core Web APIに接続する - リモートサーバーに接続できません
- 17. HTML5 for Mobileアプリケーションでデータベース接続をWebサーバーに保存するにはどうすればよいですか?
- 18. Campaign Monitor APIに接続するにはどうすればよいですか?
- 19. ASP.NET MVCで既存のデータベースに接続するにはどうすればよいですか?
- 20. REST APIへの接続に赤を使用するにはどうすればよいですか?
- 21. C#/ UWPでNetworkCredentialを使用せずにAPIにアクセスするにはどうすればよいですか?
- 22. Webアプリケーション用のASP.NET Core 1.0でLoggerFactoryログコンソールを表示するにはどうすればよいですか?
- 23. Perlを使用してiPhone Webアプリケーションに接続するにはどうすればよいですか?
- 24. EJBエンティティBeanを使用してmysqlデータベースに接続するにはどうすればよいですか?
- 25. PHPを使用してSQLiteデータベースに接続するにはどうすればよいですか?
- 26. postgresql jarファイルを使用して、ブラックベリーのデータベースに接続するにはどうすればよいですか?
- 27. PHPを使用してHSQLデータベースに接続するにはどうすればよいですか?
- 28. Inductionを使用してローカルのSQLiteデータベースに接続するにはどうすればよいですか?
- 29. dapperを使用してsqliteデータベースに接続するにはどうすればよいですか?
- 30. Pro * Cを使用してデータベースに接続するにはどうすればよいですか?
返信いただきありがとうございます。私はそれをWeb APIフレームワークとどのように統合するかについて言及しています。私はStartup.csにConfigureメソッドがあると述べましたが、それは依存性注入に大きく依存しているようですが、これは私が苦労しているところです。混乱のために私の謝罪、私は質問が2つの部分を持っていたことが明らかにされている必要があります。 – toolshed
asp.netコアのDIパターンと一致するSqlConnectionオブジェクトのファクトリとなるDIにサービスを構築して追加する方法を尋ねていますか?具体的に何があなたのために働いていないのですか? – Tim
私の問題は、単にクエリしたい既存のデータベースがあり、その結果をREST APIにプッシュすることです。チュートリアルから私が理解していることは、 'Startup.cs'の' ConfigureServices'メソッドでDB接続を開始してから、コントローラクラスでmyコマンドを実行することです。私はこのパラダイムがどのように設計されているのか誤解していますか? – toolshed