gpt4 book ai didi

c# - NHibernate映射问题

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:31 25 4
gpt4 key购买 nike

我有一个像这样的表:

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>

其他所有类(class)都正常,我只有这一个有问题。

像这样执行查询:

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

导致异常:

MoviesHistory 未映射 [来自 MoviesHistory]

谁能告诉我哪里出了问题?我怀疑 id 列可能有误,但找不到任何相关信息。

最佳答案

确保你的 .hbm.xml 在你的项目中将其构建操作设置为 Embedded Resource,否则它不会在 nHibernate 启动时包含在映射中.

此外,这并不重要,但 DateTime 应该有适当的大小写以确保安全(不确定 nHibernate 解析器是否在乎,它曾经不在乎):

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

关于c# - NHibernate映射问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2305826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com