J'ai une table comme:NHibernate problème de cartographie
CREATE TABLE [dbo].[MOVIES_HISTORY](
[DATE] [datetime] NOT NULL,
[COUNT] [int] NOT NULL CONSTRAINT [DF_MOVIES_HISTORY_COUNT] DEFAULT ((0)),
CONSTRAINT [PK_MOVIES_HISTORY] PRIMARY KEY CLUSTERED
(
[DATE] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Classe:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace Kinoplex.Models
{
public class MoviesHistory
{
private DateTime date;
private int count;
public DateTime Date
{
get
{
return date;
}
set
{
date = value;
}
}
public int Count
{
get
{
return count;
}
set
{
count = value;
}
}
}
}
fichier de mappage:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="Kinoplex.Models"
assembly="Kinoplex">
<class name="MoviesHistory"
dynamic-insert="true"
dynamic-update="true"
lazy="false"
table="MOVIES_HISTORY">
<id name ="Date" column="DATE" type="datetime">
</id>
<property name ="Count" >
<column name="COUNT" sql-type="int" not-null="true"></column>
</property>
</class>
</hibernate-mapping>
toutes les autres classes travaille, je n'ai problème avec cette un.
requête exécution comme:
IQuery query = this.session.CreateQuery("from MoviesHistory");
résultats à une exception:
MoviesHistory est pas sur la carte [de MoviesHistory]
Tout le monde peut me dire ce qui est faux? Je soupçonne que la colonne d'identification pourrait être fausse, mais ne peux rien trouver à ce sujet.
Je pensais que c'était la Type SQL donc j'ai écrit datetime au lieu de DateTime, mais cela ne semble pas avoir d'importance. Le problème était dans l'action de construction. Merci beaucoup. – kubal5003