代码之家  ›  专栏  ›  技术社区  ›  kubal5003

NHibernate映射问题

  •  1
  • kubal5003  · 技术社区  · 16 年前

    我有一张像这样的桌子:

    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]
    

    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;
                }
            }
        }
    }
    

    映射文件:

    <?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>
    

    其他班都在上课,我只有这一班有问题。

    执行查询,如:

    IQuery query = this.session.CreateQuery("from MoviesHistory");
    

    未映射MoviesHistory[来自MoviesHistory]

    谁能告诉我怎么了?我怀疑id列可能是错误的,但找不到任何相关信息。

    1 回复  |  直到 16 年前
        1
  •  4
  •   Nick Craver    16 年前

    确保你的 .hbm.xml

    而且,这并不重要,但是 DateTime 应该有适当的外壳以确保安全(不确定nHibernate解析器是否还关心它,它在某一点上没有):

    <id name="Date" column="DATE" type="DateTime">