gpt4 book ai didi

wpf - MVVM Linq2Sql 和 DataContext

转载 作者:行者123 更新时间:2023-12-04 15:54:55 25 4
gpt4 key购买 nike

我试图弄清楚如何在 MVVM (WP7) 应用程序中使用 Linq2Sql。我想我了解 MVVM 的基础知识,我用这种模式编写了一些简单的可测试应用程序,但我不确定我应该如何将它与 L2S 结合起来。

我不明白一些事情。如何管理 DataContext?我是否每个应用程序都有一个(否则我将如何跟踪实体的更改并将它们传播到数据库)?我可以直接绑定(bind)到生成的模型 L2S 类吗?如何跟踪对数据库所做的更改?或者我应该为此使用存储库模式,哪些事件回调集?

另一件事是,为了让虚拟机易于测试,我为应用程序的某些系统使用了依赖注入(inject)和服务系统。典型的例子是从互联网上下载的服务——为了使它可测试,我制作了接口(interface)和两个实现它的类——一个用于生产,一个用于测试,返回虚拟数据。我的问题是,我也应该为数据库访问这样做吗?假设所有 L2S 查询将仅在此服务内完成,从而完全将应用程序的其余部分与 L2S 隔离开来。还是没有意义,我应该简单地拥有一个全局 DataContext 对象/单例并从任何地方访问它?

如您所见,我有很多问题:) 我很想听听您的意见

最佳答案

我认为您在正确的轨道上,也许遵循存储库模式。如果您对 IOC 感到满意,请遵循相同的路径。不过,我可能会考虑模拟您的数据接口(interface),但从长远来看,我发现它更容易。

如果您担心它本身的数据库上下文行为(例如更新跟踪),则不要...不是从单元测试的角度来看。这更像是一个完整的集成测试(从手机应用程序的角度来看有点有趣,但你知道我的意思!)

请记住,您的手机上只有一个用户,并牢记这一点。

关于wpf - MVVM Linq2Sql 和 DataContext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com