我正在开始新项目,我想在我的数据库模型和CodeFirst方法中使用HierarchyID。所以我使用nuget添加了EntityFramework.HierarchyId。
但是当我运行Update-Database时,我收到了这个例外:
AllTestSuite.bot.menu("Window").menu("Open Perspective").menu("Other...").click();
SWTBotShell openPerspectiveShell = AllTestSuite.bot.shell("Open Perspective");
openPerspectiveShell.activate();
AllTestSuite.bot.sleep(1000);
AllTestSuite.bot.table().select("Debug");
AllTestSuite.bot.button("OK").click();
System.err.println("after debug window");
AllTestSuite.bot.sleep(1000);
AllTestSuite.bot.tree().setFocus();
AllTestSuite.bot.tree().getTreeItem("Analog_input [C/C++ Remote Application]").select();
AllTestSuite.bot.sleep(1000);
AllTestSuite.bot.menu("Terminate").click();
这就是我的表格:
Schema specified is not valid. Errors:
(0,0) : error 0040: The Type hierarchyid is not qualified with a namespace or alias. Only primitive types can be used without qualification.
我知道我不得不错过同样的事情,但我无法在Google上找到有用的样本。谢谢!
答案 0 :(得分:0)
我终于找到了这个问题的原因。 因为整个解决方案是新的,它使用的是./express数据库(我不知道为什么它选择了这个实例......也许是默认的)。即使我已经安装了MS SQL 2012,./express的实例也是SQL2005 - >没有hierarchyId支持。当我明确地将连接字符串指定给较新版本时,问题就解决了。
我会保留这篇文章来帮助别人......如果你是其中之一,别忘记投票。