[英]FluentNHibernate unidirectional many-to-many association
我對ManyToMany映射有問題。 這就是我所擁有的:
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”中插入任何資產
謝謝你的幫助,丹
映射是正確的。
我使用的是幾乎相同的結構,相同的映射,NHibernate 3.3.1.4000,SQL Server 2005,並且工作正常。 唯一的區別是,我正在主對象的構造函數中初始化列表。 我還允許NH創建架構,包括。 關系表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.