LINQ和存储过程DBML更新问题

Peu*_*uge 10 linq-to-sql visual-studio

当我改变我的存储过程时,我对DBML文件没有更新感到非常沮丧.

这就是发生的事情.我改变了我的存储过程.然后,我从.DBML文件中删除存储过程并重新添加它.它在.DBML文件中正确更新,但.designer.cs文件未更新.我找到的唯一解决方法是删除存储过程,然后删除存储过程返回的表,添加表然后添加存储过程(全部在.DBML文件中).而这有时只会成功.

有没有其他人有这个问题?当然有更合适的方法来更新Visual Studio 2008中的DBML文件?

提前致谢

JPR*_*ddy 16

更改SP时,DBML文件无法更新.

我建议你摆脱它.这就是我们在项目中遵循的内容.

每当您在SP中更新时,无论是输入还是输出参数.将dbml文件编辑为xml文件(您只能在VS中使用open as xml)并保存dbml文件.这将自动更新designer.cs文件中的更改.这样您就不必从dbml中删除SP并重新添加它以获取更新.虽然这是手动过程,但它确实对您有很大帮助.

这样,您甚至可以修改从SP获得的输出的实体名称(以符合您的实体命名约定),因为这些默认名称与SP名称相同.

  • 注意:为了让Visual Studio重新生成_designer.cs_文件,您必须**从Visual Studio中将_dbml_文件编辑为XML(在解决方案资源管理器中右键单击,然后选择_Open With ..._).在单独的文本编辑器中编辑/保存它不会导致_designer.cs_文件的重新生成. (3认同)