【发布时间】:2012-07-16 21:08:30
【问题描述】:
我遇到了多对多映射的问题。这就是我所拥有的:
public class Asset
{
public virtual int id {get;set;}
//other props
public virtual IList<Tag> Tags { get; set; }
}
public class Tag
{
public virtual int Id { get; set; }
public virtual string Description { get; set; }
public virtual string Slug { get; set; }
}
映射单向多对多
public class AssetMap : IAutoMappingOverride<Asset>
{
public void Override(AutoMapping<Asset> mapping)
{
mapping.HasManyToMany(x => x.Tags)
.Table("AssetTag")
.ParentKeyColumn("AssetId")
.ChildKeyColumn("TagId")
.Cascade.SaveUpdate();
}
}
我的第一个问题是:映射正确吗?
目前:
var asset = new Asset
{
//props
};
asset.Tags.Add(new Tag{...});
repository.Save(asset)
它插入标签,但它没有在中间表“AssetTag”中插入任何标签
与
var asset = new Asset
{
//props
};
asset.Tags.Add(existing TAG);
repository.Save(asset)
它确实插入了资产,但它没有在中间表“AssetTag”中插入任何东西
感谢您的帮助, 丹
【问题讨论】:
标签: c# nhibernate fluent-nhibernate fluent-nhibernate-mapping