就像标题已经说的那样,我是否正在尝试使用SQLMetal创建dbml文件。此操作的背景是创建一个C#代码文件,其中包含所有表,函数,视图,存储过程等,以便在MVC-Application中使用它。
现在解决问题。当我从命令启动SQLMetal时,它会花费一些时间,并显示一些次要警告并出现错误(DBML1057)。
当我阅读错误消息时,SQLMetal试图提取不存在的存储过程。我看了十几遍数据库,但是绝对找不到这样的过程。也许很久以前就调用了此程序。
也就是说,您创建一个名为“ GetGameDatesDesc”的SP,然后将其重命名为“ GetGameDates”。 SQLMetal(以我为例)正在寻找我认为的“ GetGameDateDesc”。但是SQLMetal的信息从何而来?我在数据库中找不到字。我查看了所有视图,功能等等。bot无济于事。此功能不再是数据库的一部分。
编辑-------------- 2011年2月14日--------------
这是SQLMetal的警告:
错误DBML1042:Type元素'GetGameDatesDesc'的Column元素中的成员属性'CCode'已经被使用。
错误DBML1057:类型'GetGameDatesDesc'的Column元素中的存储属性或其默认值'_CCode'已被使用。
最佳答案
看起来您现有的存储过程之一中存在一些错误。也许您删除或重命名了一些存储过程,但是某些其他存储过程仍然具有对该删除或重命名的调用。
尝试生成使用SQL Management Studio创建所有存储过程的SQL脚本
(右键单击数据库->任务->生成脚本),然后搜索会导致错误的生成的脚本存储过程名称。