我正在尝试使用流畅的nhibernate中的组件,并且收到以下错误。
FluentNHibernate.Cfg.FluentConfigurationException:创建SessionFactory时使用了无效或不完整的配置。检查PotentialReasons集合,以及InnerException以获取更多详细信息。
下面的代码是正确的还是我错过了什么?
以下是重用
的对象public class Thickness
{
public string Name { get; set; }
public byte ThicknessSize { get; set; }
}
我已在我的实体类中实现了它,如下所示
public class Liner
{
public virtual int Id { get; set; }
public virtual Thickness Thickness { get; set; }
}
实体的地图是
public class LinerMap : ClassMap<Liner>
{
public LinerMap()
{
Table("Liner");
Id(l => l.Id);
Component(l => l.Thickness);
}
}
配置如下所示
public static ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c
.Server("XXXXX")
.Database("XXXXX")
.Username("XXXXXXXXXX")
.TrustedConnection()))
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Liner>())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Thickness>())
.BuildSessionFactory();
}
我注意到流利的wiki说这个功能不适用于自动化,因此我明确地使用了.mapping方法,但我不确定这是否足够
欢迎任何想法
GB
答案 0 :(得分:1)
对Component method进行了一些挖掘,如果您的代码尝试使用其功能,那么它需要另一个参数。我不确定为什么它甚至会编译它的编写方式,但它需要两个参数,一个参数用于引用属性,另一个参数描述该参考属性的映射。