注意
先に進む前に、検討する瞬間取るビジネスクラスライブラリクラス(EF)から継承するレッスンを。
注
続行する前に、ビジネスクラスライブラリクラスから継承された(EF)プログラムを検討するために時間を割いてください。
-
開きUpdater.cs(Updater.vbにあります)ファイル、MySolution.Moduleのプロジェクトのデータベース更新フォルダを。次のコードを追加しますModuleUpdater.UpdateDatabaseAfterUpdateSchemaする方法。
-
MySolutionを開きます。Updater.cs(Updater.vb)ファイルフォルダモジュールプロジェクトのデータベースの更新を。更新後のデータベース・スキーマ・メソッドを更新するには、次のコードモジュールのアップデータを追加します。
使用してMySolution.Module.BusinessObjectsを。 // ... パブリック クラスアップデータ:DevExpress.ExpressApp.Updating.ModuleUpdater { // ... 公共 オーバーライド 無効UpdateDatabaseAfterUpdateSchema(){ ベース.UpdateDatabaseAfterUpdateSchema(); 連絡先contactMary = ObjectSpace.FindObject <連絡先> ( CriteriaOperator.Parse(" 姓== 'メアリー&&姓== 'Tellitson' " )); もし(contactMary == NULL ){ contactMary = ObjectSpace.CreateObject <連絡先> (); contactMary.FirstName = 「メアリー」。 contactMary.LastName = " Tellitson " 。 contactMary.Email = " [email protected] " 。 contactMary.Birthday = 新しいのDateTime(1980、11、27 ); } // ... ObjectSpace.CommitChanges(); } }
上記のコードを追加した後、コンタクトが存在しない場合は、オブジェクトは、アプリケーション・データベース内に作成されます。
-
連絡先オブジェクトが存在しない場合、上記のコードを追加した後、オブジェクトは、アプリケーション・データベースに作成されます。
-
あなたがアプリケーションを実行するたびに、アプリケーションやデータベース内のデータベースのバージョンと発見の変更でアプリケーションのバージョンを比較します。データベースのバージョンがアプリケーションのバージョンよりも低い場合、アプリケーションが提起XafApplication.DatabaseVersionMismatchのイベントを。このイベントは、ソリューションテンプレート内のWinFormsとASP.NETアプリケーションによって処理されます。アプリケーションをデバッグモードで実行すると、このイベントハンドラは、組み込みの使用データベースアップデータをアプリケーションのデータベースを更新します。データベーススキーマが更新された後、ModuleUpdater.UpdateDatabaseAfterUpdateSchemaのメソッドが呼び出されます。この方法では、データベースに必要なビジネス・オブジェクトを保存することができます。
-
あなたがアプリケーションを実行するたびに、アプリケーションのバージョンとデータベースのバージョンと比較されても、アプリケーションやデータベースの変更を探します。データベースのバージョンがアプリケーションのバージョンよりも低い場合、アプリケーションがイベントに一致しませXafApplication.DatabaseVersionにつながります。このイベントは、ASP.NETアプリケーションでのWinForms、およびソリューションテンプレートによって処理されます。アプリケーションがデバッグモードで実行されている場合、このイベントハンドラは、データベースアプリケーションを更新するために、組み込みのデータベースプログラムを使用しています。データベーススキーマを更新した後、アップデートモジュールが.Updatedatabase後の建築アプローチを更新呼び出します。この方法では、データベースに必要なビジネス・オブジェクトを保存することができます。
-
あなたは上記のコードで見ることができるように、eXpressAppフレームワーク(XAF)は使用していますオブジェクト空間(参照永続オブジェクトを操作するオブジェクトをデータの作成、読み取り、更新、削除します)
-
上記のコードに示すように、オブジェクト空間オブジェクト操作永続オブジェクト(作成、読み出し、更新、削除データを参照)を使用してeXpressAppフレーム(XAF)。
-
パラメータとして渡される基準を指定するにはBaseObjectSpace.FindObjectのメソッド呼び出しを、CriteriaOperatorが使用されています。そのCriteriaOperator.Parseの方法は、そのCriteriaOperator同等に条件式を指定して、文字列に変換します。条件を指定する方法の詳細については、を参照してくださいビルド基準にする方法トピック。
-
条件演算子を使用して、メソッド呼び出しのパラメータとして渡さBaseObjectSpace.FindObjectに条件を指定します。これは同等の指定された条件をオペレータのための条件式の文字列を変換するCriteriaOperator.Parse方法。条件を指定する方法の詳細については、トピック生成方法の条件を参照してください。
-
WinFormsやASP.NETアプリケーションを実行します。選択して連絡先のナビゲーションコントロールの項目を。お知らせ新しい連絡先、「メアリーTellitsonは」、右側のリストに表示されていること。
-
ファイル名を指定して実行のWinFormsやASP.NETアプリケーション。「連絡先」の項目にナビゲーションコントロールを選択します。ノートは、新しい連絡先「メアリーテリーセンは」右側のリストに表示されてください。
注意
注意していることをビジネスクラスライブラリクラス(EF)から継承レッスン、データベースの初期化は、ビジネスモデルの変更の場合には、データベースをクリアするように設定しました。実行時に作成されたすべてのオブジェクトは、ビジネスモデルの次の変更後に削除されますことを、この手段。あなたが目的をテストするために必要なすべてのオブジェクトを作成するには、このレッスンで説明する方法を使用することをお勧めします。彼らは関係なく、データベースのアプリケーションの中で保持されます。
注
ビジネス・ライブラリー(EF)レッスンからクラスの継承は、データベースの初期化プログラムは、ビジネスモデルの変更の場合には、データベースをクリアするように設定されていることをしてくださいノート。この手段その実行時に作成されるすべてのオブジェクトを一度に削除後のビジネスモデルの変化です。私たちは、このレッスンで説明する方法を使用してテストするために必要なすべてのオブジェクトを作成することをお勧めします。データベースに関係なく、彼らは、アプリケーションのままになります。
あなたには、このチュートリアルのコードを見ることができますEFDemo.Module | データベースの更新 | Updater.cs(Updater.vbの)ファイルEFデモ(コードファースト) XAFでインストールデモ。デフォルトでは、EFデモ(コードファースト)アプリケーションがにインストールされている%のPUBLICの%\ドキュメント\ DevExpress社のデモ19.2 \コンポーネント\ eXpressApp Frameworkの\ EFDemoCodeFirst。
このチュートリアルEFDemo。モジュールのコードを表示することができます。データベースの更新| Updater.cs(Updater.vb)ファイルEFデモ(最初のコード)のインストールとXAFを示しています。デフォルトでは、EFデモ(コード優先)アプリケーションが_EFDemoCodeFirstに組み立て%PUBLIC%で_プレゼンテーション文書_DevExpress 19.2_ _eXpressAppフレームを設置しました。