为祖国健康工作50年

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

问题描述:

之前这个项目一直使用Entity Framework Power Tool插件,对数据库进行逆向工程,生成code first代码。

步骤是项目右键,进入如下选择:

截图00

在弹出界面后,配置好需要逆向功能的数据库地址,选择“确定”,这应该可以产生需要的代码,这次却提示如下错误:

参数不正确。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG))

截图01

解决方法:

找了一些解决方案,基本都是卸载插件重装,或者清理某个临时文件夹下内容,均无效。

另外,如果没有添加Entityframework.dll引用,也会出现此问题。可以尝试性解决一下。

最终发现导致我这个问题的原因。我尝试了一些数据库发现可以进行逆向工程,另外一些还是报错,最终确定问题原因是数据库名称的问题。出现错误的数据库名称中,我都包好了小括号,用于备注数据库的用途,在sqlserver中,小括号是允许的,但这个插件对于这种名称处理可能出现了问题,只要去除这些符号(可能别的特殊符号也会导致此问题),即可正常运行。

结论:

应该有良好的数据库命名规范

此问题已经提交Entity Framework Power Tool。

posted on 2012-09-25 10:17  lerit  阅读(958)  评论(4编辑  收藏  举报