|
1
3
nhibernate实际上是基于映射文件。您可以从中生成类或表。有一些工具可以生成映射文件,但它们是基于类,而不是表。 具体问题的答案: 方法一: nhibernate不从数据库中读取表定义。所有表定义都需要在映射文件中指定。
方法二:
您得到的错误很可能是因为您试图在Oracle数据库(或另一个不支持标识列的数据库)上创建标识ID。使用hilo代替(或者,如果您不喜欢,使用guid.comb或native)。我只是想知道为什么会出现这个错误,我以为你没有写任何映射文件? 结论: 我不知道有什么工具可以从数据库表中创建nhibernate映射文件。可能有一个,最可能的是它不是自由的或不成熟的(否则它将是众所周知的)。因此,我建议考虑改为生成表定义,或者,如果您有一个遗留的数据库,您需要手动编写映射文件。 |
|
|
2
3
有几个工具可以帮助你,但我使用最多的两个是以下两个。 如果您已经有了一个模式,那么可以使用nhibernate映射生成器来创建映射。然后,您可以为您想要的任何内容使用映射。修改它们并使用nhibernate模式工具来管理实际的模式。 如果您没有任何模式,而这正是您试图创建的模式,那么您就处于正确的轨道上。首先,你需要“映射”你的课程。最好使用流利的NHiberinate或像Michael Maddox建议的那样。 我不知道这样做的目的。如果是数据库模式管理,我建议不要使用nhibernate。NHibernate从未被开发为模式管理工具,因此它可能不应该以这种方式使用。不可否认,我可能以某种方式误解了你,而这个答案可能是完全错误的。 |
|
|
3
1
我可能把问题解释错了,你到底在问什么还不太清楚。 假设您已经正确地创建了类和配置了nhibernate,并且希望在数据库中为这些类创建表,那么至少有两种可能的方法可以尝试在不创建nhibernate映射的情况下生成数据库,这两种方法都可能更好地工作,至少有一些关于如何进行映射的提示: 这两种选择都有一个不错的学习曲线。 另一种选择是尝试NHibernate的一个商业视觉设计师,尽管这些工具还不够成熟,以我的经验来说还不能很好地做到这一点。 核心nhibernate的设计或目的不是创建没有映射文件的表。 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |