一対多のリレーションシップ多の関係のセットを設定します(EF)

このレッスンでは、ビジネス・オブジェクト間の1対多の関係を設定する方法を学びます。連絡先部門、ビジネス・オブジェクトは、1対多の関係によって関連付けされます。その後、参照されるオブジェクトの自動ユーザー・インタフェース構築の基本を学びます。

このレッスンでは、ビジネス・オブジェクト間の多くの関係を設定する方法を学びます。連絡先のビジネス・オブジェクトと多くの関係を通じて準部門。その後、あなたは参照されたオブジェクト自動ユーザーインターフェース構造の基本を学びます。

注意

先に進む前に、以下のレッスンを検討する時間を取ります。

  • ビジネスクラスライブラリクラスから継承(EF)
  • カスタムビジネスクラスと参照プロパティを実装(EF)
  • 多対多の関係(EF)を設定
  • 追加部門に示すように、クラスをビジネスクラスライブラリクラス(EF)から継承レッスン。以下で自動生成されたコードを交換してください。

ご注意ください

先に進む前に、次のコースを確認するために時間を割いてください。

  • (EF)は、ビジネスクラスライブラリから継承されました
  • トラフィッククラスとカスタム参照属性を実装(EF)
  • セット対多の関係(EF)
  • レッスンに示すような「ビジネスクラスライブラリから(EF)の継承」として、部門のクラスを追加します。自動的に生成されたコードは次のように置き換えます。
使用してシステムを。
使用してSystem.Collections.Genericを。
使用してSystem.ComponentModelを。
使用してDevExpress.Persistent.Baseを。

名前空間のMySolution.Module.BusinessObjects { 
    [DefaultClassOptions] 
    [DefaultProperty(がNameOf(タイトル))] 
    パブリック クラス部門{ 
        [閲覧可能な()]
         公共のInt32 ID { 取得します保護された セット}
         パブリック文字列タイトル{ 得ますセット; }
         パブリック文字列オフィス{ 得ますセット; } 
    } 
}

 

  • 登録部門でクラスをDbContext編集のBusinessObjects \ MySolutionDbContext.cs以下に示すようにファイル。

  • クラスでDbContextの登録部門。_MySolutionDbContext.cs編集、ビジネス・オブジェクト・ファイル、図に示すように。

    パブリック クラスMySolutionDbContext:DbContext {
         // ... 
        公共 DbSet <部門>部門は{ 取得しますセット; } 
    }

     

  • 部署・連絡先との関係の「1」の部分を実装するには、仮想追加部門にプロパティを連絡するクラス。

  • 部門を達成するために - 仮想部門のプロパティを追加する連絡先、ください「接触」カテゴリのいくつかの「」関係を。

    パブリック クラスお問い合わせ:人{
         // ... 
        公共の 仮想部門部門{ GETセット; } 
    }

     

  • 部署・連絡先との関係の「多く」の部分を実装するには、追加の連絡先にプロパティを部署のクラスとコンストラクタで初期化します。

  • 部門達成するために - 「多くの」セクションの接触関係を、「部門」カテゴリに「連絡先」の属性を変更し、コンストラクタで初期化します。

    パブリック クラス部門{
         公共部門(){ 
            連絡先 = 新しいリスト<連絡先> (); 
        } 
        // ... 
        公共 仮想のIList <連絡先>連絡先{ 取得しますセット; } 
    }

     

  • WinFormsやASP.NETアプリケーションを実行します。以下のための詳細ビューを呼び出し部門オブジェクト。あなたは見ることができる連絡先グループを。オブジェクトを追加するには、連絡先、コレクション使用新規button_new)またはリンクlink_btnこのタブの)ボタンを押します。リンク・ボタンを使用すると、既存の参照を追加することができます連絡先のオブジェクト。

  • ファイル名を指定して実行のWinFormsやASP.NETアプリケーション。詳細については、部門ビューのオブジェクトを呼び出します。あなたは、「連絡先」グループを見ることができます。「連絡先」コレクションにオブジェクトを追加するには、「新(button_new)」または「リンク(link_btn)」ボタンで、このタブを使用してください。「リンク」ボタンをクリックすると、既存の連絡先オブジェクトへの参照を追加することができます。

    Tutorial_BMD_Lesson6_1

    このコレクションからオブジェクトへの参照を削除するために、使用するリンクを解除unlink_img)ボタン。

          このコレクションからオブジェクトへの参照を削除するには、「リンク解除(unlink_img)」ボタンを使用します。

 

先端

If you create a new Department and then create a new Contact in the Contacts collection, an associated Department is not immediately visible in the Detail View of the newly created Contact. The link between these objects is added later, when you save the Contact. You can change this behavior using the XafApplication.LinkNewObjectToParentImmediately property. When it is set to true, the link will be created and saved immediately after you click New.

提示
如果创建新的"部门",然后在"联系人"集合中创建新的"联系人",则关联部门不会立即在新创建的"联系人"的"详细信息"视图中显示。保存联系人时,稍后将添加这些对象之间的链接。您可以使用 XafApplication.LinkNewObjectParentParent立即属性更改此行为。设置为 true 时,链接将在单击"新建"后立即创建并保存。

 

You can see the code demonstrated in this lesson in the MySolution.Module | Data | Contact.cs (Contact.vb) and Department.cs (Department.vb) files of the EF Demo (Code First) installed with XAF. By default, the EF Demo (Code First) application is installed in %PUBLIC%\Documents\DevExpress Demos 19.2\Components\eXpressApp Framework\EFDemoCodeFirst.

あなたはこのレッスンMySolution。モジュールで実証されたコードを見ることができます。データ| Contact.cs(Contact.vb)とDepartment.cs EF XAFデモ(最初のコード)でインストール(部門は.vb)ファイル。デフォルトでは、EFデモ(コード優先)アプリケーションが_EFDemoCodeFirstに組み立て%PUBLIC%で_プレゼンテーション文書_DevExpress 19.2_ _eXpressAppフレームを設置しました。

おすすめ

転載: www.cnblogs.com/foreachlife/p/Set-a-One-to-Many-Relationship.html