在 ORM 设计器中,为啥服务器对象不能通过新的更改正确刷新?
Posted
技术标签:
【中文标题】在 ORM 设计器中,为啥服务器对象不能通过新的更改正确刷新?【英文标题】:In the ORM designer, why don't the server objects get refreshed properly with new changes?在 ORM 设计器中,为什么服务器对象不能通过新的更改正确刷新? 【发布时间】:2009-09-14 11:42:20 【问题描述】:每当我在 LinqToSql 中使用 ORM 设计器时,我在数据库中更新它们后尝试从服务器资源管理器获取最新对象时都会遇到真正的问题。
例如,我拖入了一个存储过程来处理我的插入/更新,它创建了供我调用的方法。问题是我必须去更改数据库中 sp 的参数之一。当我将 sp 拖回设计器时,我的新参数不存在。即使在刷新服务器资源管理器对象(db 级别)之后,它仍然会恢复到以前的参数。当我在服务器资源管理器中查看参数时,它会显示我的新参数,但当我拖动它时不会将其带入。
解决方法是关闭整个 VS,然后它就可以工作了。这显然并不理想,因此任何对此的帮助都会很棒。
谢谢。
【问题讨论】:
【参考方案1】:您发现的错误听起来与此类似:
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=455456
我最好的建议是不要使用 Linq2Sql,尤其是 O/R Designer。这有很多充分的理由:
Do not use the Visual Studio 2008 LinqToSql O/R Designer
The drawbacks of adopting Linq To Sql
最后,您可以选择是否继续解决 Linq2Sql 的问题。还有更好的选择。
【讨论】:
【参考方案2】:我们很久以前就停止与 LinqToSQL 设计器打交道,因为您正在概述的确切问题。您可以使用 SqlMetal 从 Visual Studio 命令行(开始 > 程序 > Visual Studio (2005|2008) > Visual Studio 工具 > Visual Studio (2005|2008) 命令提示符)为您生成 DataContext
【讨论】:
以上是关于在 ORM 设计器中,为啥服务器对象不能通过新的更改正确刷新?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 django ORM 的`save` 方法不返回保存的对象?