NHibernate映射没有主键的实体

Sta*_*ked 6 mapping nhibernate

由于某些原因,我的实体没有主键:

public partial class VehicleLocation
{
    public virtual string UserCode { get; set; }
    public virtual string DateTime { get; set; }
    public virtual string Device { get; set; }
    public virtual string Gps { get; set; }
    public virtual string GpsDateTime { get; set; }
    public virtual double Speed { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

映射:

class VehicleLoactionMap : ClassMap<VehicleLocation> 
{
    public VehicleLoactionMap()
    {
        Table("VEHICLE_LOCATION");
        LazyLoad();
        Map(x => x.UserCode).Column("USER_CODE");
        Map(x => x.DateTime).Column("DATE_TIME");
        Map(x => x.Device).Column("DEVICE");
        Map(x => x.Gps).Column("GPS");
        Map(x => x.GpsDateTime).Column("GPS_DATE_TIME");
        Map(x => x.Speed).Column("SPEED");
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

实体'VehicleLocation'没有Id映射...

如何在不使用主键的情况下映射我的实体?

mri*_*ula 8

我有一段时间没有同样的问题,但经过大量的搜索,我发现不可能在nHibernate中映射没有标识符字段的实体.

但是,您可以通过使用复合键而不是唯一标识符来实现此目的.虽然我自己没有尝试过.

以下是对可能对您有帮助的类似问题的答案.