C# Can';t使用NHibernate将数据插入数据库
我是NHibernate的新手,我写的代码很简单,应该把用户的信息插入数据库,就这样 代码如下 UserClassModelC# 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
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);
}
}