WPF Prism框架-3.通过IOC注入方式简单ORM操作Mysql数据库

使用到的ORM框架

SqlSugarCore

SqlSugar 是一款简单易用的开源 ORM 框架,支持.NET CORE 和 MySql、SqlServer、Sqlite、Oracle 、 postgresql 、达梦、人大金仓 数据库,具有 EF NH 的功能,比 EF 更人性化的语法,支持真实的批量操作,另外还有媲美 DAPPER 的性能。

开源地址:dotNET China/SqlSugar ORM

文档地址:http://donet5.com/Home/Doc

在这里插入图片描述

安装SqlSugarCore包

项目结构

在这里插入图片描述

创建 SqlSugarConfig 数据库连接配置类

connectionString 解释

Data Source 数据库地址
Database 数据库名字
User Id 登录用户名
Password 密码
charset 文字编码
port 端口号


using SqlSugar;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using DbType = SqlSugar.DbType;

namespace WXCode.DB
{
    public class SqlSugarConfig
    {
        private static readonly string connectionString = "Data Source=xx.xx.xx.xx;Database=test_db;User Id='testuser';Password='aacccsshgdjw123';charset=utf8;port=3306";

        public static SqlSugarClient GetInstance()
        {
            var db = new SqlSugarClient(new ConnectionConfig()
            {
                ConnectionString = connectionString,
                DbType = DbType.MySql,
                IsAutoCloseConnection = true,
                InitKeyType = InitKeyType.Attribute
            });

            return db;
        }
    }
}


通过 Prism框架 的IOC注入单例数据库对象

App.xaml.cs


using Microsoft.Data.SqlClient.Server;
using Microsoft.Data.Sqlite;
using Prism.Ioc;
using SqlSugar;
using System;
using System.Windows;
using WXCode.DB;
using WXCode.Views;

namespace WXCode
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App
    {
        protected override Window CreateShell()
        {
            return Container.Resolve<MainWindow>();
        }

        protected override void RegisterTypes(IContainerRegistry containerRegistry)
        {
            /// 注入SqlSugarClient对象
            containerRegistry.RegisterSingleton<SqlSugarClient>(()=>SqlSugarConfig.GetInstance());
        }
    }
}


在MainWindow.xaml.cs中简单测试一下Sql


using Prism.Ioc;
using Prism.Modularity;
using SqlSugar;
using System.Collections.Generic;
using System;
using System.Windows;
using WXCode.DB;

namespace WXCode.Views
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        private SqlSugarClient _sqlSugarClient;
        public MainWindow(IContainerExtension container, SqlSugarClient sqlSugarClient)
        {
            InitializeComponent();
            this._sqlSugarClient = sqlSugarClient;

            int count = _sqlSugarClient.Ado.GetInt("select count(*) from user");
            MessageBox.Show("查询数量:"+ count, "MainWindow");
        }
    }
}


运行效果

在这里插入图片描述

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐