私はSQLServerデータベースから始めています。System.Data.SqlClient
したがって、名前空間を使用する必要があるようです。ただし、SqlServer データベースをシャットダウンして、MySql または Oracle に移動する可能性があります。このため、必要に応じて将来別のデータベース システムに簡単に移行できるように、.Net アプリがデータベースと通信する方法に関する一連の標準を考えています。
したがって、ここに基準があります:
- 可能であれば ORM を使用します (NHibernate など) (LINQ は SqlServer のみをサポートするため、LINQ はありませんが、エンティティ フレームワークとその Oracle および MySql のサポートはどうでしょうか?)
- ORM がやり過ぎの場合は、パラメーター化された SQL クエリを使用します。
- ストアド プロシージャは、データベースで実行する必要がある長時間または複雑なアクションにのみ使用してください。
これにより、当面の主な質問に至ります。 DAL のコーディングにはどの名前空間を使用すればよいですか?
System.Data.ODBC
選択は と の間にあるように私には見えますSystem.Data.OleDB
:
- トレードオフは何ですか?
- どちらが優先されますか?
- 最初の 3 つの基準についてどう思いますか?