我是nhibernate的开始,我正在尝试使用fluent-nhibernate连接到预先存在的数据库表。该表没有id字段,我不知道如何让查询工作。我收到错误 - “字段ID不存在于”。
该表位于DB2数据库中,因此一些用于自动生成代码的工具不适用。
更新
文件和类看起来更像是以下(WHO是主键的地方)
public class Nougal
{
public virtual string WHO { get; set; }
public virtual string YN1 { get; set; }
public virtual string YN2 { get; set; }
public virtual string YN3 { get; set; }
public virtual string YN4 { get; set; }
答案 0 :(得分:1)
您必须拥有某种ID才能让NH正确地将您的表映射为实体,以便在会话的身份映射中正确地适应它。通常,这由表中的主键表示。即使未在表中定义,也要尝试识别区分每条记录的内容并将其映射为表标识符。这可能是复合身份。
答案 1 :(得分:1)
我有它工作,我必须创建一个地图,并将Id字段指向用作主键的列。
public class FILENAMEMap : ClassMap<FILENAME>
{
public FILENAMEMap()
{
Table("FILENAME");
Id(x => x.Id).Column("WHO");
Map(x => x.YN1).Column("YN1");
Map(x => x.YN2).Column("YN2");
我认为这已经做到了,所以感谢指针等。