我试图让最基本的例子在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是多对多的,并且每个图表都有。
任何帮助将不胜感激。感谢。
答案 0 :(得分:1)
您是否以更改数据库提供的方式修改了示例?您是否能够保存样本中的任何实体(即,如果您删除Products
代码并只保存Store
)?
我针对SQLExpress开发了这个示例,所以我认为不会与SQL 2005有任何不兼容性。
此外,这个问题可能更适合Fluent NHibernate mailing list,因为Stack Overflow不适合这类调查发布。
答案 1 :(得分:0)
谢谢詹姆斯。我将介绍如何使用Fluent NHibernate邮件列表。作为我的问题的解决方案,我确实简化了一些示例,并发现重建表有所帮助。在之前的尝试中,我在数据库图表工具中构建了表格。这就是我觉得有点不对劲的地方。刚才我使用菜单重建它们,仍然使用Database Diagram部分进行外键连接。工作就像一个魅力。再次感谢并与FnH保持良好的合作。
答案 2 :(得分:0)
要检查的第一件事:您确定在SQL Server中确实创建了正确的表,并且架构是否正确?您可以使用SQL Express management studio来查看sql数据库来验证这一点。