C# Can';t使用NHibernate将数据插入数据库

C# Can';t使用NHibernate将数据插入数据库,c#,postgresql,nhibernate,fluent-nhibernate,C#,Postgresql,Nhibernate,Fluent Nhibernate,我是NHibernate的新手,我写的代码很简单,应该把用户的信息插入数据库,就这样 代码如下 UserClassModel class Users { public virtual int id { get; set; } public virtual string username { get; set; } public virtual string password { get; set; } public vir

我是NHibernate的新手,我写的代码很简单,应该把用户的信息插入数据库,就这样 代码如下

UserClassModel

 class Users
    {
        public virtual int id { get; set; }
        public virtual string username { get; set; }
        public virtual string password { get; set; }
        public virtual string role { get; set; }
        public virtual bool deleted { get; set; }
        public virtual DateTime create_date { get; set; }

    }
UserMapClass

 class UserMap : ClassMap<Users>
{
    public UserMap() 
    {
        Id(x => x.id);
        Map(x => x.username);
        Map(x => x.password);
        Map(x => x.deleted);
        Map(x => x.role);
        Map(x => x.create_date);


    }

}
这是我无法将其插入数据库的代码,它会出现以下错误

这里是数据库的一部分

将模型类从“用户”重命名为“用户”(通常情况下,最好为模型使用单数名称,因为它代表单个实体)

映射类必须从ClassMap派生:

// Creating the map class
public UserMap:ClassMap<User>
{
    // The constructor of Mapping class
    public UserMap()
    {
        Id(x => x.id);
        Map(x => x.username);
        Map(x => x.password);
        Map(x => x.deleted);
        Map(x => x.role);
        Map(x => x.create_date); 
    }  
}
//创建映射类
公共用户映射:类映射
{
//映射类的构造函数
公共用户映射()
{
Id(x=>x.Id);
映射(x=>x.username);
映射(x=>x.password);
映射(x=>x.deleted);
Map(x=>x.role);
映射(x=>x.create\u date);
}  
}

将用户更改为用户很重要我在括号中添加了原因。许多ORM将模型对象映射到一个表名,该表名相当于其名称的复数形式,以防未指定表名。例如,在EntityFramework中,如果您没有为“用户”模型指定表名,那么它将自动创建一个名为“用户”的表,并将用户模型映射到该表。因此,为了避免混淆,您应该使用单数形式的模型名称。如果您现在不想触摸模型名称,可以将其保留。但是,这仍然是一个建议。谢谢你的建议,但它仍然会反复出现相同的错误,即使是在新的地图类中?只是一个小评论,除非绝对必要,否则请避免发布截图。。。异常(带有堆栈跟踪)和CREATETABLE语句可以像粘贴文本一样粘贴。
class User
{
    public virtual int id { get; set; }
    public virtual string username { get; set; }
    public virtual string password { get; set; }
    public virtual string role { get; set; }
    public virtual bool deleted { get; set; }
    public virtual DateTime create_date { get; set; }

}
// Creating the map class
public UserMap:ClassMap<User>
{
    // The constructor of Mapping class
    public UserMap()
    {
        Id(x => x.id);
        Map(x => x.username);
        Map(x => x.password);
        Map(x => x.deleted);
        Map(x => x.role);
        Map(x => x.create_date); 
    }  
}