C# 搜索等效Fluent Nhibernate映射-映射映射为字典
我在NHibernate2.1中为以下基于属性的映射搜索等效的Fluent映射C# 搜索等效Fluent Nhibernate映射-映射映射为字典,c#,fluent-nhibernate,nhibernate-mapping,C#,Fluent Nhibernate,Nhibernate Mapping,我在NHibernate2.1中为以下基于属性的映射搜索等效的Fluent映射 [Class(typeof(Article), Table = "ARTIKEL")] public class Article { [Id(0, Name = "Id", Column = "Id")] public virtual int Id { get; set; } [Map(0)] [Key(1, Column = "MainArticle")] [IndexManyToMa
[Class(typeof(Article), Table = "ARTIKEL")]
public class Article {
[Id(0, Name = "Id", Column = "Id")]
public virtual int Id { get; set; }
[Map(0)]
[Key(1, Column = "MainArticle")]
[IndexManyToMany(2, ClassType = typeof(Article), Column = "ChildArticle")]
[Element(3, Column = "Amount", NotNull = true)]
public virtual IDictionary<Article, decimal> Bundle { get; set; }
}
[类别(物品类型,Table=“ARTIKEL”)]
公共类文章{
[Id(0,Name=“Id”,Column=“Id”)]
公共虚拟整数Id{get;set;}
[地图(0)]
[关键字(1,Column=“main article”)]
[indexmanytomy(2,ClassType=typeof(Article),Column=“ChildArticle”)]
[元素(3,Column=“Amount”,NotNull=true)]
公共虚拟IDictionary Bundle{get;set;}
}
我无法获得NHibernate 3.0的流畅映射
我最终得到了
HasManyToMany<Article>().ParentKeyColumn("MainArticle").ChildKyColumn("ChildArticle").AsMap<int>("Amount");
HasManyToMany().ParentKeyColumn(“main article”).ChildKyColumn(“ChildArticle”).AsMap(“Amount”);
这导致访问字典时出现“非法访问加载集合”异常…最终我得到了一个有效的解决方案:
HasManyToMany(x => x.Bundle)
.ParentKeyColumn("MainArticle")
.ChildKyColumn("ChildArticle")
.AsEntityMap("ChildArticle")
.Element("Amount");
HasMany(x => x.Bundle).Table("bundles").KeyColumn("MainArticle").AsEntityMap("ChildArticle").Element("Amount", part => part.Type<decimal>());
HasMany(x=>x.Bundle).Table(“bundles”).KeyColumn(“main article”).AsEntityMap(“ChildArticle”).Element(“Amount”,part=>part.Type());
在我的情况下工作。AsEntityMap在Fluent NHibernate 3.0上没有签名
AsEntityMap(字符串)