问题描述:
之前这个项目一直使用Entity Framework Power Tool插件,对数据库进行逆向工程,生成code first代码。
步骤是项目右键,进入如下选择:
在弹出界面后,配置好需要逆向功能的数据库地址,选择“确定”,这应该可以产生需要的代码,这次却提示如下错误:
参数不正确。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG))
解决方法:
找了一些解决方案,基本都是卸载插件重装,或者清理某个临时文件夹下内容,均无效。
另外,如果没有添加Entityframework.dll引用,也会出现此问题。可以尝试性解决一下。
最终发现导致我这个问题的原因。我尝试了一些数据库发现可以进行逆向工程,另外一些还是报错,最终确定问题原因是数据库名称的问题。出现错误的数据库名称中,我都包好了小括号,用于备注数据库的用途,在sqlserver中,小括号是允许的,但这个插件对于这种名称处理可能出现了问题,只要去除这些符号(可能别的特殊符号也会导致此问题),即可正常运行。
结论:
应该有良好的数据库命名规范
此问题已经提交Entity Framework Power Tool。