我刚刚了解到一个天才类型,它将简化我的许多工作,但看起来我首选的ORM不能识别它。
是否有解决方法可以让ServiceStack OrmLite识别SQL Server中的HierarchyId
?有没有关于修改哪些文件的建议以及如何继续的提示?
编辑:
下面是这个问题的一个更好的说明。我有以下类:
public class MyClass
{
public int Id { get; set; }
public SqlHierarchyId HierarchyId { get; set; }
}
SqlHierarchyId是一种自定义SQL Server数据类型。OrmLite将为其生成以下类:
有趣的是,我可以在属性上使用[StringLength(255)]
属性,它将获得varchar(255)
类型:
我手动更改了此处的表,并添加了列数据类型以显示差异。请注意第三列的数据类型:
对于其他数据库管理系统(如it can be converted within C# )来说,使用varchar
表示是完全合适的,但是对于SQL Server,最好让它与相应的数据类型相匹配。这将使视图的创建变得更容易(由于hierarchyid
数据类型的内置函数)。
我知道EF4不支持该类型(不确定5)。我还浏览了GitHub上的OrmLiteDialectProviderBase.cs文件,可以看到支持的ADO.NET数据类型列表。
我的问题很简单:这是ADO.NET的一个强大限制,还是在OrmLite中可以看到?如果有任何建议,我愿意帮助扩展这一部分。
https://stackoverflow.com/questions/14924173
复制相似问题