0

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

Book.Publisherを.NetRIAサービスのプロパティとして使用するには、属性を追加する必要があります。たとえば、Bookクラスのメタデータでは次のようになります。
[Key] public int Id; ...[含める]
[Association( "Book_Publisher"、 "Id"、 "Id"、IsForeignKey = true)]
public Publisher Publisher;

パブリッシャークラスのメタデータ:
[Key]
public int Id;
..。

クライアントコードで、パブリッシャーを取得しようとしています。パブリッシャーbooksPublisher = Book.Publisher; しかし、私は間違った発行元(またはnull)を取得します。データベースを見た後、それが探している出版社IDは、出版社ではなく、本のIDです。

メタデータにエイリアスを追加できますか?RIAサービスの新しいバージョンはこれを処理しますか?

ありがとうございました。

4

1 に答える 1

0

推測ですが、問題が発生している理由は、IdフィールドをBookオブジェクトからPublisherオブジェクトのIdフィールドにキー入力しようとしているためだと思います。Book.Idは、出版社ではなく、本を一意に識別すると思います。

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

于 2009-07-02T18:53:44.673 に答える