首页 文章

如何在Fluent NHibernate ClassMap类中指定表名?

提问于
浏览
34

我是NHibernate的新手,并尝试使用Fluent进行映射 . 我的实体类名称与必须映射到的数据库表名称不同 . 我正在使用从 ClassMap<> 派生的映射类,但我无法指定表名: ClassMap 中的属性 TableName 是只读的 .

谢谢你的帮助 .

3 回答

  • 6

    请改用 Table("table_name") .

  • 6

    它有效吗?

    public class UserAccountMap : ClassMap<UserAccount> {
        public UserAccountMap() {
            Table("User");
            Id(x => x.UserID, "UserID").GeneratedBy.Identity();
            Map(x => x.FirstName, "FirstName").Length(50)
                .Not.Nullable();
            Map(x => x.LastName, "LastName").Length(50)
                .Not.Nullable();
        }
    }
    
  • 43

    上面的例子引导我朝着正确的方向前进 . 这对我有用 . 我的 class 名称是“Party”,我的名字是“prty.Party” .

    public class PartyMap : ClassMap<Party>
    {
        public PartyMap()
        {
         Table("prty.Party");
         Id(x => x.PartyID);
         Map(x => x.PartyTypeLID);
         Map(x => x.OrganizationTypeLID);
         Map(x => x.PreferredContactMethodLID);
         Map(x => x.PrimaryLanguageLID);
         Map(x => x.PartyVID);
         Map(x => x.BeginDate);
         Map(x => x.EndDate);
         Map(x => x.RowDescriptor);
         Map(x => x.RowModifiedDate);
         Map(x => x.RowModifiedBy);
         Map(x => x.RowCreatedDate);
         Map(x => x.RowCreatedBy);
        }        
    }
    

相关问题