0
public class CTTypeMap :Enity<CTTypeMap>
{
  public CTTypeMap()
  {
    Id(x => x.ID);
    Map(x => x.createdOn);
    Map(x => x.list_id);
    References(x = x.CtListType).Column("list_id");
  }
}

上記のコード行では、ステートメントReferences(x = x.CtType).Column("list_id");はエンティティの list_id をCtListTypeの Id 列にマップしますCTTypelist_idエンティティCtListTypeを の list_id 列にマップする必要がありますCTType。教えてください。

4

1 に答える 1

0

「Count=N のこの SqlParameterCollection の無効なインデックス N」エラーを回避するには、次のlist_idようにプロパティを読み取り専用としてマップする必要があります。

public class CTTypeMap :Enity<CTTypeMap>
{
  public CTTypeMap()
  {
    Id(x => x.ID);
    Map(x => x.createdOn);
    Map(x => x.list_id).Readonly();
    References(x = x.CtListType).Column("list_id");
  }
}

このようにして、フィールドとエンティティの両方を問題なく選択できます。これの欠点は、フィールド list_id を介して挿入または更新できないことです。

更新:同じフィールドを2回マッピングしているため、これは正しい方法ではない可能性があるため、この投稿で提案されている別の解決策を確認することをお勧めします。

于 2012-09-26T17:36:28.653 に答える