在 CodeFirst 方法中使用 EntityFramework.HierarchyId,Type hierarchyid 未使用名称空间或别名限定
Using EntityFramework.HierarchyId in CodeFirst approach, The Type hierarchyid is not qualified with a namespace or alias
我正在开始新项目,我想在我的数据库模型和 CodeFirst 方法中使用 HierarchyID。所以我使用 nuget 添加了 EntityFramework.HierarchyId。
但是当我 运行 更新数据库时,我收到这个异常:
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.
这是我的 table 的样子:
public class Activity
{
[Key]
public int ActivityId { get; set; }
public HierarchyId ActivityPath { get; set; }
public string Name { get; set; }
}
我知道我很容易错过同样的事情,但我无法在 Google 上找到有用的示例。谢谢!
我终于找到了这个问题的原因。
因为整个解决方案是新的,它使用的是 ./express 数据库(我不知道为什么它选择了这个实例......也许它是默认的)。即使我安装了 MS SQL 2012,./express 的实例也是 SQL2005 -> 不支持 hierarchyId。当我明确指定连接字符串到较新版本时,问题解决了。
我会保留这个 post 来帮助其他人...如果您是他们中的一员,请不要忘记投票。
我正在开始新项目,我想在我的数据库模型和 CodeFirst 方法中使用 HierarchyID。所以我使用 nuget 添加了 EntityFramework.HierarchyId。
但是当我 运行 更新数据库时,我收到这个异常:
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.
这是我的 table 的样子:
public class Activity
{
[Key]
public int ActivityId { get; set; }
public HierarchyId ActivityPath { get; set; }
public string Name { get; set; }
}
我知道我很容易错过同样的事情,但我无法在 Google 上找到有用的示例。谢谢!
我终于找到了这个问题的原因。 因为整个解决方案是新的,它使用的是 ./express 数据库(我不知道为什么它选择了这个实例......也许它是默认的)。即使我安装了 MS SQL 2012,./express 的实例也是 SQL2005 -> 不支持 hierarchyId。当我明确指定连接字符串到较新版本时,问题解决了。
我会保留这个 post 来帮助其他人...如果您是他们中的一员,请不要忘记投票。