首页 > 数据库 >linq链接数据库SQL封装类

linq链接数据库SQL封装类

时间:2024-03-21 10:24:32浏览次数:32  
标签:封装 Name 数据库 connectionString db linq SQL public Users

linq链接数据库SQL封装类

首先,需要定义一个LINQ to SQL的上下文类,这个类是从DataContext继承而来,并且包含了映射到数据库表的实体类。

[Database(Name="MyDatabase")]
public class MyDataContext : DataContext
{
    public Table<User> Users;
 
    public MyDataContext(string connectionString) : base(connectionString) { }
}
 
[Table(Name="Users")]
public class User
{
    [Column(IsPrimaryKey=true)]
    public int Id;
 
    [Column(Name="Name")]
    public string Name;
 
    [Column(Name="Age")]
    public int Age;
}

然后,可以创建一个封装了数据库连接的类,用于执行查询操作:

public class DataRepository
{
    private string connectionString = "Data Source=服务器地址;Initial Catalog=数据库名;Persist Security Info=True;User ID=用户名;Password=密码";
 
    public IEnumerable<User> GetAllUsers()
    {
        using (var db = new MyDataContext(connectionString))
        {
            return db.Users.ToList();
        }
    }
 
    public User GetUserById(int id)
    {
        using (var db = new MyDataContext(connectionString))
        {
            return db.Users.FirstOrDefault(u => u.Id == id);
        }
    }
 
    public void AddUser(User user)
    {
        using (var db = new MyDataContext(connectionString))
        {
            db.Users.InsertOnSubmit(user);
            db.SubmitChanges();
        }
    }
 
    // 其他数据库操作...
}

标签:封装,Name,数据库,connectionString,db,linq,SQL,public,Users
From: https://www.cnblogs.com/CloakBlowing/p/18086729

相关文章

  • SpringBoot:如何读取 .sql文件的内容并执行
    摘要:在复杂查询、统计等应用场景,直接写sql并执行是一种高效的方法。此文记录工作中解决的将查询统计sql直接写在文件中,代码中读取相应的文件即可获得要执行的sql。要点:.sql文件要放到Resource目录下,读取时路径要正确一种正确的方式和关键代码这里提供的是一种尝试过的......
  • MySQL InnoDB Instant schema 变更注意点
    在MySQL8.0.12中为DDL引入了新的算法,在修改表的定义的时候不会阻塞。第一个instant操作是在表的最后增加一个列,这是腾讯游戏团队贡献的。在8.0.29中,官方增加在任意位置增加或删除列的instant操作。本文要讲的是盲目使用该特性会带来的危害。 默认算法从MySQL8.0......
  • 将自己写的组件封装成类似element-ui一样的库,可以cdn引入
    在写好自己的组件之后第一步修改目录结构在根目录下创建package文件夹,用于存放你要封装的组件第二步在webpack配置中加入pages与publicpath同级pages:{index:{entry:'src/main.js',template:'public/index.html',......
  • 通过Docker安装MySQL数据库
    1.安装Docker首先,确保你的系统上已经安装了Docker。如果还没有安装,可以访问Docker官网查看安装指南。对于大多数Linux发行版,可以使用以下命令安装Docker:sudoapt-getupdatesudoapt-getinstalldocker.io安装完成后,启动Docker服务并设置开机自启:sudosystemctlstart......
  • PHP 封装整理 insert语句
    废话不多说直接上代码publicfunctioninsert($table,$data,$keyName,$canRepeatAdd=true){$keyStr="";$paramStr="";$params=[];foreach($dataas$key=>$value){if(is_array......
  • QT6实现创建与操作sqlite数据库三种方式方式对比(二)
    一.概述Qt访问Sqlite数据库的三种方式(即使用三种类库去访问),QSqlQuery、QSqlQueryModel、QSqlTableModel,对于这三种类库,可看为一个比一个上层,也就是封装的更厉害,甚至第三种QSqlTableModel,根本就不需要开发者懂SQL语言,也能操作Sqlite数据库。二.Qt读写Sqlite数据库的三种方......
  • mysql-存储引擎
    1.mysql的体系结构下面这张图值得注意的是不同的存储引擎的Index不一样,从5.5版本以后存储引擎默认的就是InnoDB了。2.存储引擎 --查询建表语句---默认存储引擎:InnoDBshowcreatetablecourse;--查询当前数据库支持的存储引擎showengines;--创建表my_myisam,......
  • MYSQL事务面试题记录
    1.什么是数据库事务数据库事务是数据库管理系统执行过程种的一个逻辑单位,由一个有限的数据库操作序列构成,这些操作要嘛全部执行,要嘛都不执行,是一个不可分割的工作单位。2.Mysql事务的四大特性是什么?原子性事务作为一个整体被执行,对数据库的操作要吗全部被执行,要吗都不执行,......
  • MySQL学习八:窗口函数(一)
    目录一、窗口函数1.窗口函数定义2.窗口函数语法3.演示表格一4.窗口的确定4.1例1:查询各班级总分4.2例2:查询各班级累计总分4.3分区子句(partitionby)4.4排序子句(orderby)4.5窗口子句(rows)4.6总体执行流程5.函数分类5.1排序类函数5.2聚合类函数5.3跨行类函数......
  • sql 高级查询
    1.多表查询:链接查询(多表查询)多表查询,本质上来说就是多张表当中获取数据select*fromemp;--14条数据select*fromdept;--4条数据select*fromemp,dept;--56条数据select*fromemp,deptwhereename='SMITH';--4条数据/*产生了错误的数据,错误的数据......