1

我遇到了设计困境,我不确定如何解决这个问题,因为我是整个 Linq 场景的新手。我正计划使用 datagridview 创建一个 winforms 应用程序来显示我的数据库中的一些数据。用户可以执行按钮和其他操作来与数据交互并更改数据。但我不知道如何解决这个问题,要么在我的表单中有一个全局数据上下文来跟踪更改,然后使用 .SubmitChanges() 提交并让 linq 在幕后做所有事情,或者对于每个按钮事件,我创建了一个新的数据上下文,但是因为 linq 无法再跟踪我的更改,所以我创建了某种自定义数据结构来跟踪用户更改,然后更新数据库。

不管我怎么想,听起来拥有一个全局数据上下文会更容易(编码方面),但我读到我可能会遇到问题?

将有多个用户同时使用该应用程序连接到中央数据库。我愿意接受任何建议,只是不确定这样做的正确方法是什么。

谢谢!

4

1 回答 1

1

在我的 ASP.NET 应用程序中,我们为每个请求保留一个全局上下文,因此表单的全局上下文的想法还不错。尤其是在保存相互关联的数据时,从多个上下文查询的数据,当你试图相互关联时,会导致错误。因此,从这个角度来看,全球背景是有益的。特别是因为 windows 窗体可以保留绑定到它的对象(不像 ASP,因为它是无状态的),这些更改将更好地同步。

您必须记住的唯一缺点是,如果您正在加载大量数据,全局上下文,如果您正在跟踪实体更改,将所有这些对象保留在内存中,并且上下文可能会增长到可能影响的程度表现...

HTH。

于 2012-07-20T16:07:45.097 回答