为什么FluentNhibernate返回现有行的NullReference?
|
我没有从该设置中得到任何对象
table SPEC (
Special_Name varchar2 pk
Signal integer
Created_At date)
namespace App
{
public class Strategy
{
public virtual string Id { get; private set; }
public virtual int Signal { get; set; }
public virtual DateTime CreatedAt { get; set; }
}
public class StrategyMap : ClassMap<Strategy>
{
public StrategyMap()
{
this.Table(\"SPEC\");
this.Id(x => x.Id).Column(\"Special_Name\");
Map(x => x.Signal).Column(\"Signal\");
Map(x => x.CreatedAt).Column(\"Created_At\");
}
}
}
namespace App.Tests
{
public class StrategyMapTest
{
private ISessionFactory sessionFactory;
public StrategyMapTest()
{
this.sessionFactory = this.CreateSessionFactory();
}
[Fact]
public void Can_read_from_database()
{
using (var session = this.sessionFactory.OpenSession())
{
var fromDb = session.Get<Strategy>(\"Foo 1\");
Assert.Equal(\"Foo 1\", fromDb.Id);
Assert.Equal(\"1\", fromDb.Signal);
Assert.Equal(new DateTime(2011,1,1), fromDb.CreatedAt);
}
}
private ISessionFactory CreateSessionFactory()
{
return Fluently.Configure()
.Database(OracleClientConfiguration
.Oracle10
.ConnectionString(\"connString\"))
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<Strategy>()
.ExportTo(@\"C:\\logs\"))
.BuildSessionFactory();
}
}
}
我在第一个断言中遇到了异常。从数据库中没有检索到对象-它存在。
System.NullReferenceException: Object reference not set to an instance of an object.
我导出的映射如下所示
<hibernate-mapping xmlns=\"urn:nhibernate-mapping-2.2\">
<class xmlns=\"urn:nhibernate-mapping-2.2\" name=\"App.Strategy, App, Version=1.0.0.0, Culture=neutral, PublicKeyToken=0af8b89e104ed570\" table=\"SPEC\">
<id access=\"backfield\" name=\"Id\" type=\"System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">
<column name=\"Special_Name\" />
<generator class=\"assigned\" />
</id>
<property name=\"Signal\" type=\"System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">
<column name=\"Signal\" />
</property>
<property name=\"CreatedAt\" type=\"System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089\">
<column name=\"Created_At\" />
</property>
</class>
</hibernate-mapping>
没有找到相关结果
已邀请:
1 个回复
藐刚