Castle ActiveRecord关系

时间:2011-12-23 14:23:19

标签: c# orm castle-activerecord

我正在尝试使用Castle ActiveRecord

映射以下模型
  • 联系人(由姓名和电话号码代表的人)。
  • 组(代表一组联系人)。

联系人可以属于多个不同的群组,但不一定属于群组。

在数据库中,我表示为:

联系

  • Id
  • 名称
  • ******中国

  • 编号
  • 组名

Group_Contact   - GroupId   - ContactId

联系人不需要知道它包含哪些组(可能是映射要求,但不是业务要求)。

理想情况下,我想在群组中拥有一组联系人。

我已尝试在Group类

中映射它
[HasAndBelongsToMany(typeof(Contact),
Table = "Group_Contact", ColumnKey = "GroupId", ColumnRef = "ContactId")]
public IEnumerable<Contact> Contacts { get; set; }

这给了我以下例外: 无法猜测属性Group.Contacts的关系类型

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

而不是IEnumerable<Contact>使用ICollection<Contact>(用于包语义)或ISet<Contact>(用于设置语义)或IList<Contact>