簡體   English   中英

FluentNHibernate單向多對多關聯

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM