C# FluentNhibernate+;专用设备
我正在对私有集使用auto属性,fluentNhibernate为我抛出一个错误 FluentNHibernate.Cfg.FluentConfigurationException:创建SessionFactory时使用了无效或不完整的配置。有关详细信息,请检查潜在原因集合和InnerException。 *未通过数据库方法配置数据库 这是我的班级:C# FluentNhibernate+;专用设备,c#,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,C#,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,我正在对私有集使用auto属性,fluentNhibernate为我抛出一个错误 FluentNHibernate.Cfg.FluentConfigurationException:创建SessionFactory时使用了无效或不完整的配置。有关详细信息,请检查潜在原因集合和InnerException。 *未通过数据库方法配置数据库 这是我的班级: public class MyClass { public virtual int Id { get; set; } public
public class MyClass
{
public virtual int Id { get; set; }
public virtual string PropOne { get; private set; }
}
这是我的地图:
public class MyClassMap : ClassMap<MyClass>
{
public MyClassMap()
{
Id(x => x.Id);
Map(x => x.PropOne);
}
}
FN运行良好
但我读过这个主题:“访问策略”,我一直在做类似的主题。我哪里错了
我在GitHub中举了一个例子:
下面是BuildSession的代码
Configuration = new Configuration().Configure();
var fluentConfiguration = Fluently.Configure(Configuration)
.Mappings(x => x.FluentMappings.AddFromAssemblyOf<MyClassMap>());
try
{
NHSession = fluentConfiguration.BuildSessionFactory();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
Configuration=newconfiguration().Configuration();
var fluentConfiguration=fluent.Configuration(配置)
.Mappings(x=>x.FluentMappings.AddFromAssemblyOf());
尝试
{
NHSession=fluentConfiguration.BuildSessionFactory();
}
捕获(例外情况除外)
{
Console.WriteLine(例如ToString());
}
这可能是FluentNH中的一个bug引发了错误的异常,但该异常与映射本身无关,而与构建SessionFactory有关。
请向我们展示代码,确保您正在通过
.Database(..)
call设置DB驱动程序及其配置我在FluentNhibernate项目上提出了一个问题,正确的方法是使用带有字段的私有集。如果使用自动属性,则权限是使用非私有setter
这项工作很好:
private string name;
public string Name
{
get { return name; }
}
根据这一点,自v.起,NHibernate似乎不再支持这种访问策略。3.3. 你链接到的文档也让我误入歧途。可能应该更新它们,以注意NHibernate 3.2之后不支持此场景 您好@migajek,我在这里举了一个例子:github.com/wbaldanw/NhAccessStrategies
private string name;
public string Name
{
get { return name; }
}