首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在WPF中维护MySQL连接的最佳方法是什么?

在WPF中维护MySQL连接的最佳方法是什么?
EN

Stack Overflow用户
提问于 2014-05-09 12:25:14
回答 2查看 653关注 0票数 0

我正在使用C# + WPF + MvvmLight编写一个C/S client.In这个程序,我将连接到MySQL数据库来查看和修改表,我知道如何连接到C#中的MySQL数据库,我想知道的是如何维护与MySQL dbs.As的连接,就我而言,我有两种方法:

  • 声明全局 MySqlConnection类型变量
  • 将连接字符串保存在配置文件中,并在需要时加载它。

这两种方法的proscons是什么?任何其他解决方案也将是最受欢迎的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-09 12:32:45

有不同的方法来处理这个问题。在WPF中最常见的可能是让viewmodel处理数据库操作(这是模型的一部分),通常是通过某种存储库或外观。如果您查看了参考MVVM WPF应用程序,您可以看到一个简单的操作版本,例如:

代码语言:javascript
运行
复制
public class CustomerViewModel : WorkspaceViewModel, IDataErrorInfo
{
    ...
    public void Save()
    {
        if (!_customer.IsValid)
            throw new InvalidOperationException(Strings.CustomerViewModel_Exception_CannotSave);

        if (this.IsNewCustomer)
            _customerRepository.AddCustomer(_customer);

        base.OnPropertyChanged("DisplayName");
    }

在这种模式中,存储库对象通常会维护数据库连接,但是调用存储库的是视图模型代码。当然,你可以根据你的需要,用一个完全成熟的DAL来代替那个巨型存储库。

票数 1
EN

Stack Overflow用户

发布于 2014-05-16 13:07:08

妈妈.后来我意识到C#没有全局类型,但是您仍然可以使用一些技巧。

例如,

首先添加此引用,

代码语言:javascript
运行
复制
using Microsoft.Practices.ServiceLocation;

然后获取感兴趣的ViewModel的当前实例

代码语言:javascript
运行
复制
MainViewModel mainViewModelInstance = ServiceLocator.Current.GetInstance<MainViewModel>();

现在,您几乎可以完成所有事情,比如传递属性,而不必实现ViewModel的实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23564619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档