Linq 使用SqlMetal util从*SDF生成*DBML文件时出现问题

Linq 使用SqlMetal util从*SDF生成*DBML文件时出现问题,linq,linq-to-sql,sql-server-ce,sqlmetal,Linq,Linq To Sql,Sql Server Ce,Sqlmetal,我尝试从sdf文件生成dbml 因此,我将sqlMetal util本地化为:C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\Bin Sdf DB文件路径:D:\DB\u TEST\Spiri\u SQL\u CE\u DB.Sdf 因此,我在生成dbml文件时尝试此命令: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlmetal.exe D:\DB_TEST\ Sp

我尝试从sdf文件生成dbml

因此,我将sqlMetal util本地化为:
C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\Bin

Sdf DB文件路径:
D:\DB\u TEST\Spiri\u SQL\u CE\u DB.Sdf

因此,我在生成dbml文件时尝试此命令:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlmetal.exe D:\DB_TEST\
Spiri_SQL_CE_DB.sdf /dbml:D:\DB_TEST\Spiri_SQL_CE_DB.sdf\Spiri_SQL_CE_DB.dbml
我得到这个错误:

Error : SQM1007: There is an IO error and the output file 'D:\DB_TEST\Spiri_SQL_
CE_DB.sdf\Spiri_SQL_CE_DB.dbml' cannot be opened.
Error : Access to the path 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\
Bin\Spiri_SQL_CE_DB.dbml' is denied.
所以我尝试这个命令:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlmetal.exe D:\DB_TEST\
Spiri_SQL_CE_DB.sdf /dbml:Spiri_SQL_CE_DB.dbml
但我得到了这个错误:

Error : SQM1007: There is an IO error and the output file 'D:\DB_TEST\Spiri_SQL_
CE_DB.sdf\Spiri_SQL_CE_DB.dbml' cannot be opened.
Error : Access to the path 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\
Bin\Spiri_SQL_CE_DB.dbml' is denied.
最后,我尝试了以下命令版本:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin>sqlMetal /dbml:Spiri_SQL
_CE_DB.dbml D:\DB_TEST\Spiri_SQL_CE_DB.sdf
但我也有同样的错误:

Error : Access to the path 'C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\
Bin\Spiri_SQL_CE_DB.dbml' is denied.

我知道Spiri_SQL_CE_DB.dbml文件尚不存在,但我尝试使用sqlMetal turil生成此文件,有什么不好?

将SDF和dbml复制到您有足够写入/修改权限的位置

否则,使用提升的权限启动命令提示符(也称为运行方式管理员)

顺便说一句,你的第一次尝试完全是假的

或者:

sqlMetal /dbml:D:\DB_TEST\Spiri_SQL_CE_DB.dbml D:\DB_TEST\Spiri_SQL_CE_DB.sdf