LINQ和存储过程DBML更新问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LINQ和存储过程DBML更新问题相关的知识,希望对你有一定的参考价值。
当我改变我的存储过程时,我对DBML文件没有更新感到非常沮丧。
这就是发生的事情。我改变了我的存储过程。然后,我从.DBML文件中删除存储过程并重新添加它。它在.DBML文件中正确更新,但.designer.cs文件未更新。我找到的唯一解决方法是删除存储过程,然后删除存储过程返回的表,添加表然后添加存储过程(全部在.DBML文件中)。而这有时只会成功。
有没有其他人有这个问题?当然有更合适的方法来更新Visual Studio 2008中的DBML文件?
提前致谢
更改SP时,DBML文件无法更新。
我建议你摆脱它。这就是我们在项目中遵循的内容。
每当您在SP中更新时,无论是输入还是输出参数。将dbml文件编辑为xml文件(您只能在VS中使用open as xml)并保存dbml文件。这将自动更新designer.cs文件中的更改。这样您就不必从dbml中删除SP并重新添加它以获取更新。虽然这是手动过程,但它确实对您有很大帮助。
这样,您甚至可以修改从SP获得的输出的实体名称(以符合您的实体命名约定),因为这些默认名称与SP名称相同。
我做的还有一件事,从视图中打开服务器资源管理器。它将列出数据库连接。右键单击指向数据库并刷新的特定连接。如果您添加了任何新的存储过程,或者您已更新任何存储过程,它将自动更新。
1请记住,SQL和VS完全是2个独立的服务。它只是连接在一起,并不意味着它彼此同步。
2在我看来,DBML只是一种ms-sql。我用来创建DB Factory完全基于接口操作并返回数据作为DataTable ot DataSet。此代码可用于所有标准db。
同样在实体框架6中,这是一个问题。删除.edmx文件中的更改元素和“从数据库更新模型”。
以上是关于LINQ和存储过程DBML更新问题的主要内容,如果未能解决你的问题,请参考以下文章