0

私は次のテーブルを持っています:

A
--
Id : int
SomeString : varchar(20)

B
--
Id : int
BString: nvarchar(10)
AId : int // FK to A

テーブルAにすでにマップされているエンティティAがあります。

エンティティBの場合、Bからのすべてのデータと、Aからのフィールドを取得できるように、コンポジットを実行しようとしています。ただし、AからのフィールドはBを介して変更できないようにする必要がありますが、これらはユースケース。

私は次のようにBの(流暢な)マッピングを構築しようとしています:

  Table("B");
  Join(
    "A"
    m =>
      {
        m.KeyColumn("AId");
        m.Inverse();
        m.Map(p => p.SomeString);
      }
  );
  Map(p => p.BString);

スキーマをエクスポートしようとすると問題が発生します。テーブルAがすでに存在していることを示しています。何かアイデアがありますか、それともまったく機能しませんか?

ありがとう

4

1 に答える 1

2

これは悪い考えです。Aを参照するだけです。

AをBの参照から変更したくない場合は、Aをプライベートにして、そのプロパティのゲッターのみを公開します。

于 2010-08-10T20:03:34.550 に答える