主キー(PK)と外部キー(FK)を持つ2つのSQL Serverテーブルがあり、2つのテーブルをリンクしています。
1) Table "Order"
OrderID, int, PK
AddressID, int, FK
...
2) Table "Address"
AddressID, int, PK
City, nvarchar(50)
...
次に、これら2つのテーブルから(ADO.NET)エンティティデータモデルを作成しました。次に、(ASP.NET)Webページに、EntityDataSourceを含むGridViewを配置しました。GridViewで、2つの列を表示したいと思います。
- OrderID
- 都市(その順序に属し、AddressIDキーでリンクされている)
どうやってやるの?私の問題は次のとおりです。エンティティデータソースを構成するときに、「Order」または「Address」のいずれかを選択できますが、両方を選択することはできません。また、任意の種類の関係を選択することもできません。EntitySetNameとして「Order」を選択すると、GridViewで列を追加できます
- OrderID
- 住所
- Address.AddressID
「アドレス」列を追加すると、空のセルが表示されます。「OrderID」と「Address.AddressID」を追加すると、予想されるIDが表示されます。しかし、どうすれば関連する住所の「都市」をGridViewに追加できますか?
よろしくお願いします!
編集:明確化:
Entity Frameworkは、データベーステーブルに対応するクラス「Order」とクラス「Address」を作成しました。クラス「Order」には、ナビゲーションプロパティとして「Address」オブジェクトへの参照があり、AddressテーブルとOrderテーブルの間の1-n関係に対応しています。
基本的に、GridViewにOrder.Address.Cityを表示する列が必要です。データフィールドとして「Address.City」を含むバインドされたフィールドをGridViewに追加しようとしましたが、実行時エラーが発生します(「そのようなプロパティはありません...」)。