使用流利的 nhibernate 访问现有数据库表

本文关键字:数据库 访问 nhibernate | 更新日期: 2023-09-27 18:36:59

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

使用流利的 nhibernate 访问现有数据库表

您必须具有某种 id,才能让 NH 正确地将表映射为实体,以使其正确适应会话的标识映射。通常,这由表中的主键表示。即使表中未定义,也要尝试确定区分每条记录的内容并将其映射为表标识符。这可能是复合 ID。

我让它工作,我必须创建一个地图,并将 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");

我认为这已经做到了,所以感谢您的指点等。