2009-07-02 8 views
0

2つのクラスがあり、主キーのプロパティの名前を "Id"(例:Book and Publisher)にする必要があるとします。要件は、私たちの会社でコード生成オブジェクトを使用しており、生成される方法を変更できないためです。これらのクラスには、Publisher間の外部キーがあります.1対1の関係です。この場合、各Bookには1つのPublisherしかありません。.Net Ria Servicesを使用して同じキー(「Id」)を持つオブジェクトとの関連付けを行うにはどうすればよいですか?

.Net RIA ServicesでBook.Publisherをプロパティとして使用するには、属性を追加する必要があります。 たとえば、Bookクラスのメタデータの場合:
[Key] public int Id; ... [含める]
[協会( "Book_Publisher"、 "ID"、 "ID"、IsForeignKeyこの=真)]
公共出版社出版社;パブリッシャークラスのメタデータで


[キー]
公共int型同上。
...私は出版社を取得しようとすると、クライアントコードで

: 出版社booksPublisher = Book.Publisher。 しかし、私は間違った出版社(またはnull)を取得します。データベースを見た後、出版社のIDは、出版社ではなく書籍のIDです。

メタデータにエイリアスを追加できますか? RIA Servicesのそれ以降のバージョンでこれが処理されますか?

ありがとうございます。

答えて

0

ちょっと推測しますが、問題が発生している理由は、ブックオブジェクトのIdフィールドをPublisherオブジェクトのIDフィールドにキーしているためです。私はその本を推測しています。その出版社ではなく、その本を一意に識別しました。

BookオブジェクトにpublisherIdなどのフィールドがありますか?その場合は、Book.publisherId = Publisher.Idを使用して、ブックをパブリッシャーにキー入力する必要があります。

+0

別のキーを追加して機能させる必要がありました。 [関連付け( "Book_Publisher"、 "BookId"、 "PublisherId"、IsForeignKey = true)] パブリックパブリッシャーパブリッシャー。 – Aligned

関連する問題