【问题标题】:WPF:How to Tell my DataLayer which DataContext to use?WPF:如何告诉我的 DataLayer 使用哪个 DataContext?
【发布时间】:2011-03-29 15:05:53
【问题描述】:

我有一个解决方案,其中我有 3 个 WPF 项目(项目 UI-A、项目 UI-B 和名为 CommonLibrary(数据层)的项目。我在项目 UI-A 中有一个用户注册表单,我将在其中捕获用户配置文件信息。在 CommonLibrary 项目中,我有一个名为 UserCommon 的类,它将有一个将数据保存到 db 表的方法。我正在使用 LINQ 2 SQL 与 CommonLibrary 项目中的 db 对话。在Project UI-A 我将有一个下拉列表,其中包含 DevelopmentProduction 之类的选项,我可以使用它来选择要在哪里完成此操作。

现在我如何告诉 CommonLibrary 中的方法使用哪个数据上下文(开发或生产)?正在传递一个变量(提及它的开发或生产) 在所有方法中作为参数是唯一的方法吗?还有什么其他选择?

【问题讨论】:

    标签: wpf linq-to-sql data-access


    【解决方案1】:

    我建议将设置放在您的 app.config 文件中,并通过 ConfigurationManager 访问它。您不想要的是代码中设置的变量。

    另一种选择是使用依赖注入工具从外部文件构建其配置。然而,这通常不是人们想要配置依赖注入的方式。 (代码更简洁。)

    您还可以构建一个工厂方法来生成 DataContext 对象,为正确的配置预先配置。这将决策隔离为单一方法。

    【讨论】:

      【解决方案2】:

      听起来有点像策略模式问题:http://www.dofactory.com/Patterns/PatternStrategy.aspx#_self2

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-27
        • 2020-10-13
        • 1970-01-01
        • 2023-03-29
        • 2017-03-23
        相关资源
        最近更新 更多