質問: 私は自分のデータベース用にADO .Net Entity Data Modelを持っています。このモデルには、3つの関連テーブルがあります。 "Users" UserIdとその他の詳細を含むテーブル。 RunId、ApproverId、およびその他の詳細を含む「Run」テーブルUserIdおよびRunId列を含む「RunToUser」 関係は次のとおりです。Users.UserIdはRun.ApproverIdと1対1の関係です。User.UserIdはRunToUser.UserIdと多対多ですRun.RunIdはRunToUser.RunIdと多対多です エンティティモデルでは、これは2つの別々の関係を持つ2つのテーブルとして表現されます。 1対1の関係、およびUsersとRunの間の多対多の関係。 RunのデータとUsersの関連データを編集するASP.net Formviewがあります。 ほとんどの場合、データバインディングは機能しています。ただし、Usersテーブルにentitydatasourceとしてバインドすると、常に1対1リレーションシップの関連付けが使用されます。 1対1マッピングのデータをラベルに、多対多のデータビューにデータをバインドできるように、entitydatasourceに特定のリレーションシップの関連付けを使用させるにはどうすればよいですか。 where句で "EXISTS"を試してみたところ、レコードが制限されていましたが、それでも、常に1対1の使用を要求され、すべてのデータバインドコントロールで単一のユーザーのみが表示されます。これはユーザーのentitydatasourceです。 ``` ``` 1つはラベル用に、もう1つはgridview用に2つのエンティティデータソースが必要になると思いますが、関連付けを指定する方法が決定するまで、先に進む方法はわかりません。 THX、 - J
回答: 私は答えを見つけて、質問を閉じるのを忘れたのでただフォローしています。 同じ外部テーブルに複数の関連付けがある場合、それらはデフォルトで数字のサフィックスが付きます。したがって、RunテーブルにはUsersとUsers1の関連付けがありました。 EDSに "Include"パラメータを使用するときは、どの関連付けを使用するかを知っておく必要があります。EDSモデルを見るまでは、どれがわかりますか。 私は数字の接尾辞を持っているすべての私の協会の名前を変更したと思いました。 My Runテーブルに、UsersとApprover(Users1ではなく)の関連付けが追加されました。これにより、LINQとEDSの宣言部分の両方にどのリレーションシップを含めるかを簡単に判断できます。 EDSに両方の関連付けを含めたい場合は、次のようにします。 ``` Include="Users,Approver" ``` 最初はあまり明白ではなかったので、これが他の誰かに役立つことを願っています。