0

我有 2 个数据库,其中有 2 个带有 HierachyID 字段的表。对于一个数据库,我可以获得 dal cs 文件,对于另一个数据库,我无法获得 dal cs 文件?

HBus 是一个我可以获取 dal cs 的数据库,...

SqlMetal /server:.\SQLSERVER2008 /database:HBus /code:HBusDC.cs /views /functions /sprocs /namespace:HBusDC /context:HBusDataContext

这将我踢出一个文件,......它有效,但不包括表的 HierarchyID 字段并包括该表的所有其他字段。这没关系,我不介意。

上面的 cmd 行会发出警告,但仍会生成一个文件,就像这样

SqlMetal /server:.\SQLSERVER2008 /database:HBus /code:HBusDC.cs /views /functions /sprocs /namespace:HBusDC /context:HBusDataContext 
Microsoft (R) Database Mapping Generator 2008 version 1.00.30729
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

Warning : SQM1021: Unable to extract column 'OrgNode' of Table 'dbo.HMsg' from SqlServer because the column's DbType is a user-defined type (UDT). 
Warning : SQM1021: Unable to extract column 'OrgNode' of Table 'dbo.vwHMsg' from SqlServer because the column's DbType is a user-defined type (UDT). 

HMsg 是一个带有 HierarchyID 字段的表。

我有另一个数据库,Elf,几乎是一样的东西,但是在使用 sql metal 时我得到一个警告和一个错误,我没有得到一个 dal cs 文件......

SqlMetal /server:.\SQLSERVER2008 /database:Elf /code:ElfDataContextDal.cs /views /functions /sprocs /namespace:HBusDC /context:HBusDataContext

错误以及警告和 cs 文件未能出现在我的光盘上,... :-(

SqlMetal /server:.\SQLSERVER2008 /database:Elf /code:ElfDataContextDal.cs /views /functions /sprocs /namespace:HBusDC /context:HBusDataContext 
Microsoft (R) Database Mapping Generator 2008 version 1.00.30729
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

Warning : SQM1021: Unable to extract column 'OrgNode' of Table 'dbo.EntityLink' from SqlServer because the column's DbType is a user-defined type (UDT). 
Error : Requested value 'ELF.SYS.HIERARCHYID' was not found.

这些字段在 Elf db 中的声明方式相同

OrgNode [HierarchyID] null ,

在 HBus 数据库中...

OrgNode [HierarchyID] null ,

两个数据库都在 sql server 2008 的同一个实例中,因此 HierarchyID 是一种内置类型,db 都没有 HierarchyID udt ,...

提前为任何回复欢呼...

4

1 回答 1

1

实际上这个问题来自一个返回hierarchyid的sp,而sqlmetal不喜欢这样,......解决了。

于 2010-04-12T22:59:36.760 回答