我有實體Post
和Tag
,其中兩者之間存在多對多的關係(例如,每個帖子可以有一個或多個標籤,每個標籤可以與任何關聯的任何職位數量)。NHibernate多對多計數
我想實現的是讓Tag
實體具有提供與該標記關聯的帖子數量的字段。但是,我不知道如何得到這個沒有得到整個Post
的集合(我想避免)。
我用流利的NHibernate和我的實體和映射這個樣子目前:
實體/ Post.cs
public class Post : PersistentBase
{
public virtual string Title { get; set; }
/* snip */
private IList<Tag> tags = new List<Tag>();
public virtual IEnumerable<Tag> Tags {
get { return tags; }
}
public virtual void AddTag(Tag tag) {
this.tags.Add(tag);
}
}
映射/ PostMap.cs
public class PostMap : ClassMap<Post>
{
public PostMap()
{
Id(x => x.Id).GeneratedBy.HiLo("99");
Map(x => x.Title);
/* snip */
HasManyToMany(x => x.Tags);
}
}
實體/ Tag.cs
public class Tag : PersistentBase
{
public virtual string Name { get; set; }
public static Tag Create(string name) {
return new Tag { Name = name };
}
}
映射/ TagMap.cs
public class TagMap : ClassMap<Tag>
{
public TagMap()
{
Id(x => x.Id).GeneratedBy.HiLo("99");
Map(x => x.Name).Unique();
}
}
理想情況下想什麼,我實現的是要能夠加入到實體/ Tag.cs,類似如下:
public virtual int PostCount { get; set; }
然後使用該標籤預先填充帖子的數量。
我該如何去做這件事? (這的確有可能嗎?)
ü不需要的tagmap類 – 2010-05-28 11:30:38