-1

我试图让最基本的示例在 FnH 中运行。我从 Examples.FirstProject 开始。但是,我没有使用 SQL lite 配置。相反,我将配置设置为 SQL2005 并按照示例中的图示创建表。

单步执行代码时,创建会话工厂时似乎没有问题。但是,当代码到达“transaction.commit”行时,我确实收到了一个错误。错误内容如下:

Could not insert collection: [Examples.FirstProject.Entities.Store.Products#5][SQL:SQL not available]

我想知道在 SQL Server 中创建表的方式是否存在问题。ID 是“int”类型,名称等是“varchar(50)”。我将 Store、Product 和 Employee 的 PK 设置为其各自的 ID 字段。我还使 ID 自动增加 1(SQL Server 中的 IdentitySpecification 列属性)。StoreProduct 是多对多的,并且根据图表也存在。

任何帮助,将不胜感激。谢谢。

4

3 回答 3

1

除了更改数据库提供之外,您是否以任何方式修改了示例?您是否能够从示例中保存任何实体(即,如果您删除Products代码并仅保存Store)?

我针对 SQLExpress 开发了这个示例,所以我想不会有任何与 SQL 2005 不兼容的地方。

此外,这个问题可能更适合 Fluent NHibernate邮件列表,因为 Stack Overflow 不适合这类调查性帖子。

于 2009-03-24T09:08:33.590 回答
0

谢谢詹姆斯。我将看看使用 Fluent NHibernate 邮件列表。作为我的问题的解决方案,我确实稍微简化了示例,并发现重建表有所帮助。在之前的尝试中,我在数据库图表工具中构建了表格。这就是我认为有些不对劲的地方。刚才我使用菜单重建了它们,并且仍然与数据库图部分建立了外键连接。像魅力一样工作。再次感谢并继续与 FnH 合作。

于 2009-03-24T15:21:21.603 回答
0

首先要检查:您确定您确实在 SQL Server 中创建了正确的表,并且架构是正确的吗?您可以通过使用SQL Express management studio查看 sql 数据库来验证这一点。

于 2009-09-12T10:11:51.813 回答