我有以下類別:System.InvalidCastException:從'DateTime'到'Int32'的轉換無效。 NHibernate的
public class AccionCorrectiva : Modelo<AccionCorrectiva>
{
...
public virtual DateTime FechaFin { get; set; }
...
}
public class Indicador : Modelo<Indicador>
{
private IList<AccionCorrectiva> _acciones = new List<AccionCorrectiva>();
public virtual IList<AccionCorrectiva> Acciones
{
get { return _acciones; }
set { _acciones = value; }
}
}
當我做SomeIndicador.Acciones
我得到:
NHibernate.Exceptions.GenericADOException: could not initialize a collection: [Dominio.Indicador.Acciones#1][SQL: SELECT acciones0_.indicador_id as indicador8_1_, acciones0_.Id as Id1_, acciones0_.FechaFin as FechaFin1_, acciones0_.Id as Id6_0_, acciones0_.Hallazgo as Hallazgo6_0_, acciones0_.Descripcion as Descripc3_6_0_, acciones0_.Objetivo as Objetivo6_0_, acciones0_.FechaFin as FechaFin6_0_, acciones0_.NumEstado as NumEstado6_0_, acciones0_.responsable_id as responsa7_6_0_, acciones0_.indicador_id as indicador8_6_0_ FROM acciones_correctivas acciones0_ WHERE acciones0_.indicador_id=?] ---> System.FormatException: Input string '01/01/2013 0:00:00' was not in the correct format. ---> System.InvalidCastException: Invalid cast from 'DateTime' to 'Int32'.
我在做什麼錯?
編輯 如果我打電話AccionCorrectivaRepository.Instance.FindById(1)
我得到一個AccionCorrectiva和正常工作! 方言是SQLite的
表結構:
CREATE TABLE acciones_correctivas (Id INT not null, FechaFin DATETIME);
映象 Indicador
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Dominio"
namespace="Dominio">
<class name="Indicador" table="indicadores">
<id name="Id">
<generator class="increment" />
</id>
<list name="Acciones" cascade="all-delete-orphan">
<key column="indicador_id" />
<index column="FechaFin" />
<one-to-many class="AccionCorrectiva" />
</list>
</class>
</hibernate-mapping>
AccionCorrectiva:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="Dominio"
namespace="Dominio">
<class name="AccionCorrectiva" table="acciones_correctivas">
<id name="Id">
<generator class="increment" />
</id>
<many-to-one name="Indicador" column="indicador_id" />
</class>
</hibernate-mapping>
你可以提供你的類的映射。您還使用了哪些DBMS,以及表中的「FechaFin」是什麼數據類型。 – mickfold 2013-03-25 18:48:55
請看我的編輯 – 2013-03-25 19:13:40