Subsonic 亚音速3.0和SqlHierachyID
我在亚音速3.0为包含新的HeirachyID数据类型的表生成对象时遇到问题。从我发现的情况来看,没有腐蚀性的.Net类型,亚音速似乎不知道如何处理分层数据 引发的错误: “Microsoft.SqlServer.Types.SqlHierarchyId”类型的对象无法转换为“System.String”类型 代码:Subsonic 亚音速3.0和SqlHierachyID,subsonic,subsonic3,Subsonic,Subsonic3,我在亚音速3.0为包含新的HeirachyID数据类型的表生成对象时遇到问题。从我发现的情况来看,没有腐蚀性的.Net类型,亚音速似乎不知道如何处理分层数据 引发的错误: “Microsoft.SqlServer.Types.SqlHierarchyId”类型的对象无法转换为“System.String”类型 代码: foreach(DataAccess.ThingCategory.Find(x=>x.fk_Thing.Equals(thingId))中的MyDB.DataAccess.Thin
foreach(DataAccess.ThingCategory.Find(x=>x.fk_Thing.Equals(thingId))中的MyDB.DataAccess.ThingCategory tc)
{
sb.AppendFormat(“{1}”,wrapTag,tc.Categories.ToList()[0].Name);
}
tc.Categories.ToList()生成错误
或者,我试图通过编写一个存储过程来绕过这个问题,以字符串形式返回hierachyid列,并注意到亚音速3.0存储过程不是强类型的。还是我做错了什么?可以通过调用ExecuteTypedList()来强类型化存储过程
我会在上创建一个问题,要么添加对该类型的支持(因为我认为这不是一个高优先级的问题,所以必须有人对此进行贡献),要么在它们存在时优雅地处理它。看起来没有其他人有任何信息要添加,所以我将此标记为已接受。谢谢你回答我的问题。
foreach (MyDB.DataAccess.ThingCategory tc in DataAccess.ThingCategory.Find(x => x.fk_Thing.Equals(thingId)))
{
sb.AppendFormat("<{0}>{1}</{0}>", wrapTag, tc.Categories.ToList<DataAccess.Category>()[0].Name);
}