我发现我正在处理的旧数据库的其中一个表有一个名为“Order”的列。
不幸的是,我无法更改数据库结构。
我的 Fluent NHibernate 类看起来像
public class SiteMap : AutoMap<Site>
{
public SiteMap() {
WithTable("Sites");
Id(x => x.ID, "Id")
.WithUnsavedValue(0)
.GeneratedBy.Identity();
Map(x => x.Name, "Name");
//various columns mapping and then...
Map(x => x.SiteOrder, "Order");
}
}
我不知道问题是 FluentNH 还是 NHibernate 本身,但我可以确认问题出在“Order”保留名称上。
如何解决这个问题?
更新:正如建议的那样,输入 [Order] 的形式有效。谢谢!
但现在我只链接到 SQL2005?
最佳答案
尝试将 Order 放在后面的刻度中:``Order .由于 FluentNH 在运行时生成 HBM 文件,我想这应该可以解决问题。
关于nhibernate - 使用 Fluent NHibernate 命名为 "Order"的 DB 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/484381/