Nhibernate-basic-crud-operations
NHibernate-基本的なCRUD操作
この章では、基本的な* CRUD操作*について説明します。 ドメインのStudentクラスを正常に実装したため、システムを起動する準備ができたので、マッピングファイルも定義し、NHibernateを構成しました。 これで、いくつかのクエリを使用してCRUD操作を実行できます。
データを作成する
ご覧のとおり、 NHibernateDemoDB データベースのStudentテーブルにはデータがありません。
そのため、データを追加するには、以下に示すように Add/Create 操作を実行する必要があります。
ご覧のとおり、2人の生徒を作成し、 OpenSession のSave()メソッドを呼び出してから、 BeginTransaction のCommit()を呼び出します。 Program.cs ファイルの完全な実装を次に示します。
次に、このアプリケーションを実行してから、SQL Serverオブジェクトエクスプローラーに移動し、データベースを更新します。 上記の2人の生徒が、NHibernateDemoDBデータベースのStudentテーブルに追加されたことがわかります。
学生テーブルからデータを読み取る
学生テーブルに2つのレコードがあることがわかります。 テーブルからこれらのレコードを読み取るには、次のコードに示すように、OpenSessionの* CreateCriteria()*を呼び出す必要があります。
したがって、レコードのリストが必要な場合は、Studentタイプのリストを単に言うことができます。
すべての生徒で foreach を使用して、コンソールにID、 FirstMidName および LastName を印刷すると言います。 ここで、このアプリケーションを再度実行してみましょう。コンソールウィンドウに次の出力が表示されます。
次のコードを使用して、OpenSessionの* Get()*メソッドでIDを指定することにより、任意のレコードを取得することもできます。
これで、アプリケーションを実行すると、次の出力が表示されます。
レコードを更新
テーブル内のレコードを更新するには、最初にその特定のレコードをフェッチしてから、次のコードに示すようにOpenSessionの* Update()*メソッドを呼び出してそのレコードを更新する必要があります。
これで、アプリケーションを実行すると、次の出力が表示されます。
ご覧のとおり、IDが1のLastNameがBommerからDonaldに更新されます。
レコードを削除
テーブルからレコードを削除するには、次のコードに示すように、まず特定のレコードをフェッチしてから、OpenSessionの* Delete()*メソッドを呼び出してそのレコードを削除する必要があります。
これで、アプリケーションを実行すると、次の出力が表示されます。
ご覧のとおり、IDが1のレコードはデータベースで使用できなくなっています。 SQL Serverオブジェクトエクスプローラーでデータベースを確認することもできます。