相关疑难解决方法(0)

如何使用流畅的NHibernate将枚举映射为int值?

问题说真的,默认是它映射为a string但我需要它映射为int.

我目前正在使用PersistenceModel我的约定,如果这有任何区别.提前致谢.

更新 发现从主干上获取最新版本的代码解决了我的困境.

nhibernate fluent-nhibernate

87
推荐指数
4
解决办法
2万
查看次数

使用流利的nhibernate映射枚举

我正在关注http://wiki.fluentnhibernate.org/Getting_started教程,用Fluent NHibernate创建我的第一个NHibernate项目

我有2张桌子

1)帐户与字段

Id
AccountHolderName
AccountTypeId
Run Code Online (Sandbox Code Playgroud)

2)带有字段的AccountType

Id
AccountTypeName
Run Code Online (Sandbox Code Playgroud)

现在,帐户类型可以是Savings或Current所以表AccountTypes存储2行1 - Savings 2 - Current

对于AccoutType表,我已经定义了枚举

public enum AccountType {
    Savings=1,
    Current=2
}
Run Code Online (Sandbox Code Playgroud)

对于Account表,我定义了实体类

public class Account {
    public virtual int Id {get; private set;}
    public virtual string AccountHolderName {get; set;}
    public virtual string AccountType {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

流畅的nhibernate映射是:

public AgencyMap() {
    Id(o => o.Id);
    Map(o => o.AccountHolderName);
    Map(o => o.AccountType);
}
Run Code Online (Sandbox Code Playgroud)

当我尝试运行解决方案,它提供了一个异常 - 的InnerException = {"(XmlDocument的)(2,4):XML验证错误:元素'类’在命名空间'瓮:NHibernate的映射-2.2’具有不完整的内容.期望的可能元素列表:'命名空间'中的元,子选择,缓存,同步,注释,tuplizer,id,composite-id'...

我想那是因为我还没有为AccountType指定任何映射.

问题是:

  1. 如何使用AccountType枚举而不是AccountType类?
  2. 也许我走错了路.有一个更好的方法吗?

谢谢!

.net enums fluent-nhibernate

32
推荐指数
2
解决办法
2万
查看次数

标签 统计

fluent-nhibernate ×2

.net ×1

enums ×1

nhibernate ×1