流畅的NHibernate复合映射<long,string =“”> </long,>

时间:2013-11-18 16:56:58

标签: c# oracle nhibernate fluent-nhibernate mapping

我在映射具有主键的特定表时遇到问题。 假设我有这张表:

CREATE TABLE ALERT_EMAIL
(
    IDALERT NUMBER(10, 0) NOT NULL,
    EMAIL   VARCHAR2(100 BYTE) NOT NULL,
    CONSTRAINT ALERT_EMAIL_PK PRIMARY KEY ( IDALERT , EMAIL ) ENABLE
)

这是我的映射:

public class AlertEmailMap : ClassMap<AlertEmail>
    {
        public AlertEmailMap()
        {
            Schema("XXX");
            Table("ALERT_EMAIL");
            CompositeId().KeyReference(x => x.Alert, "IDALERT").KeyReference(x => x.Email, "EMAIL");
        }
    }

我收到此错误:“表ALERT_EMAIL中的关联引用了未映射的类:System.String”

是因为我的CompositeId中有一个字符串吗? 如何正确映射该表?

感谢。

1 个答案:

答案 0 :(得分:2)

电子邮件不是对另一个类的引用。将其映射为简单属性

CompositeId()
    .KeyReference(x => x.Alert, "IDALERT")
    .KeyProperty(x => x.Email, "EMAIL");