Fluent nHibernate和mapping IDictionary<;每周一天,IDictionay<;整数,十进制>&燃气轮机;如何?
我在使用类型Dictionary的propert和类型Dictionary的value对类进行映射时遇到问题,如下所示:Fluent nHibernate和mapping IDictionary<;每周一天,IDictionay<;整数,十进制>&燃气轮机;如何?,nhibernate,mapping,fluent,idictionary,Nhibernate,Mapping,Fluent,Idictionary,我在使用类型Dictionary的propert和类型Dictionary的value对类进行映射时遇到问题,如下所示: public class Class1 { public virtual int Id { get; set; } public virtual IDictionary<DayOfWeek, IDictionary<int, decimal>> Class1Dictionary { get; set; } } Id(i
public class Class1
{
public virtual int Id { get; set; }
public virtual IDictionary<DayOfWeek, IDictionary<int, decimal>> Class1Dictionary { get; set; }
}
Id(i => i.Id);
HasMany(m => m.Class1Dictionary);
这不管用。最重要的是我想把所有的东西都放在一张桌子上,而不是两张桌子上。当我从第二本词典上选课时,我遇到了更大的问题。但首先,我可以像现在这样尝试。在NHibernate中目前不可能使用任何类型的嵌套集合 相反,您应该按如下方式定义属性:
public virtual IDictionary<DayOfWeek, Class2> Class1Dictionary { get; set; }
这让我的头爆炸了。。。看,但当我这样做的时候,我仍然有映射的问题,你能用正确的方式写下映射吗?我不使用Fluent。有了hbm,这是一个简单、易读的过程。我不知道FNH的等价物是什么。我已经尝试过你的解决方案,但现在我不知道如何在hbm中映射它。你能帮我吗?好的,我已经做了:)如果有人想要解决方法,只问;)
public class Class2
{
public virtual decimal this[int key]
{
get { return Class2Dictionary[key]; }
set { Class2Dictionary[key] = value; }
}
public virtual IDictionary<int, decimal> Class2Dictionary { get; set; }
}
class1Instance.Class1Dictionary[DayOfWeek.Sunday][1] = 9.4