利用LINQ to SQL 增删改查本地数据库

  C#新人,博客园第一篇博文,希望大家多多指教。

  最近趁项目空隙,学习了LINQ,其强大高效易读的数据操作方式令人印象深刻。特别是LINQ to SQL,让用户可以像操作内存对象一样操作SQL数据库。在阅读了《深入理解c#》和参考以下四篇博文后,自己摸索,完成了创建本地SQL数据库和数据表,VS连接数据库,到利用LINQ to SQL增删改查数据库表中信息。

SQL服务器安装:http://www.downcc.com/tech/4135.html

SQL数据库和数据表格创建:http://blog.csdn.net/justdb/article/details/7012675

利用LINQ to SQL增删改查:http://www.cnblogs.com/yukaizhao/archive/2010/05/13/linq_to_sql_1.html

              http://developer.51cto.com/art/200912/166240.htm

  SQL服务器和数据库的安装以及表格创建基本是按照前两篇博文来完成,这两篇博文讲的十分详细,是我等小白之福音啊!我在这两步中在本地计算机中创建了一个ExampleDB数据库,在该库中创建了一张PeopleInfoTable表格,表格中有Names,Ages,Addresses,Phones,ID,Nations列,添加了7行数据

  

完成上述步骤之后,开始利用VS连接数据库

  1. 打开VS2010新建控制台应用程序,然后添加LINQ to SQL Class,命名为DbApp.dbml,新建dbml文件之后,可以打开server explorer
  2. 在server exploer的窗口中,右击"Data Connections",选择“Add Connections”                                                      
  3. 在Add Connection对话框中选择“Data source”为"Microsoft SQL Server(sqlClient)","Server name"为"DESKTOP-JOS2U2P"(之前创建的服务器名称),填写"Use SQL Server Authentication",在下拉选项框中选择需要操作的数据库名称。                                                                                                        
  4. 在server exploer的窗口中,点击树形结构中的+以展开PeopleInfoTable表                                                                                                      
  5. 选中PeopleInfoTable表将其拖到DbApp.dbml的编辑页面中。如果有警示的对话框出现,点击是即可
  6. 保存当前的项目,编译项目查看是否存在错误

使用LINQ to SQL增删改查数据库

  • 注意:执行Create、Update或Delete操作需要添加主键,在DbApp.designer.cs中DPeopleInfoTable的属性上添加
  1. LINQ to SQL查询数据库

    //查询数据库
    using (DbAppDataContext context = new DbAppDataContext())
    {
           context.Log = Console.Out;
           var query = from p in context.PeopleInfoTables
                       let length = p.Names.Length
                       orderby length
                       select new { Name = p.Names, Length = length };
           foreach (var entry in query)
           {
                 Console.WriteLine("{0}:{1}", entry.Name, entry.Length);
           }
    }
    
    输出结果
     
  2. LINQ to SQL增加数据库信息

    //往数据库增加信息
    using (DbAppDataContext context = new DbAppDataContext())
    {
         context.Log = Console.Out;
         context.PeopleInfoTables.InsertOnSubmit(new PeopleInfoTable
         {
             Names = "Qinan",
             Addresses = "Shaoxing",
             Ages = 24,
             ID = "1231231",
             Nations = "China",
             Phones = "18868875132"
          });
          context.SubmitChanges();
          var query = from p in context.PeopleInfoTables
              select new { Name = p.Names, Address = p.Addresses };
          foreach (var entry in query)
          {
              Console.WriteLine("{0}:{1}", entry.Name, entry.Address);
          }}
    
    输出结果
     
  3. LINQ to SQL删除数据库信息

    //删除数据库某条信息
    using (DbAppDataContext context = new DbAppDataContext())
    {
          context.Log = Console.Out;
          var people = context.PeopleInfoTables.SingleOrDefault(p => p.Names == "Qinan");
          if (people != null)
          {
              context.PeopleInfoTables.DeleteOnSubmit(people);
              context.SubmitChanges();
          }
          var query = from p in context.PeopleInfoTables
               select new { Name = p.Names, Address = p.Addresses };
          foreach (var entry in query)
          {
               Console.WriteLine("{0}:{1}", entry.Name, entry.Address);
          }}
    
    输出结果
  4. LINQ to SQL编辑数据库

    //编辑数据库中的信息
    using (DbAppDataContext context = new DbAppDataContext())
    {
        context.Log = Console.Out;
        var people = context.PeopleInfoTables.SingleOrDefault(p => p.Names == "Yuan");
        if (people != null)
        {
            people.Ages = 50;
            people.Addresses = "tanggu";
            context.SubmitChanges();
        }
        var query = from p in context.PeopleInfoTables
             select new {Name = p.Names, Age = p.Ages, Address = p.Addresses};
        foreach (var entry in query)
        {
             Console.WriteLine("{0}:{1},{2}", entry.Name, entry.Age, entry.Address);
        }}
    
    输出结果
时间: 2024-07-30 22:32:43

利用LINQ to SQL 增删改查本地数据库的相关文章

Linq to sql 增删改查(转帖)

代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Syst

linq to sql 增删改查

ORM<Object Relation Mapping> Linq To Sql: 一.建立Linq To Sql 类 :理解上下文类: Linq To Sql 类名+context 利用上下文类可以访问数据库中的每一个表: ****************************************** 分类 应用*******************************************************注: 1 info为实际引用的表名 2 在执行某一功能时都需要先将

SQL Server快速生成SQL增删改查语句

你还在手敲代码生成SQL语句吗?你还在为因为马虎出错的SQL语句而感到无语吗?你还在为不知怎样表达复杂的SQL语句而纠结吗?如果你的回答为"是",那你就OUT啦,快来试试应用SQL Server资源管理器快速生成SQL语句吧. 首先,打开SQL Server2008,在菜单栏"查询"下拉菜单中找到"在编辑器中设计查询",如下图: 在打开的查询设计器窗口中添加要进行操作的数据库表. 在添加的表内下方空白部分右键单击鼠标,在弹出菜单中单击"

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库

Asp.net Core 2.1使用 EF Core 简单增删改查操作数据库 大概步骤如下5步: 1.创建项目(Asp.net Core 2.1项目) 2.项目使用EF Core 3.建立实体 4.生成迁移文件(生成数据库) 5.使用VS工具生成视图.控制器代码 示例代码下载  https://github.com/ZhMartincheng/NetCoreDemo.git 1.创建项目(Asp.net Core 2.1项目) 选择.net core 版本2.1 基础项目创建成功 2.项目使用E

linQ!!增删改查 好用!

linq:增删改查 数据库访问技术: ADO.net EF框架 LinQ LinQ是一种高集成化的数据库访问技术,他将数据库中的表映射成程序中的类 数据库的表名变成类名 数据库的列名变成字段名/属性名 所有的操作都是通过LinQ自动生成的一个上下文对象来进行操作的,这个对象名是LinQ的名字+"DataContext" ,一个数据库对应一个LinQ 1.创建LinQ 在项目上右键,添加一个LinQ to SQL 然后点击服务器资源管理器,选择小插头样式的连接到数据库 正确填写需要连接的

linq的简单增删改查

Linq高集成化的数据访问类,它会自动映射数据库结构,将表名完整映射成为类名,将列名完整映射成字段名数据库数据访问,能大大减少代码量.(反正最后结果就是不用写ado.Net那一套增删改查,有一套封装好的方法直接点就行了)(1)Linq创建添加LINQ to SQL类,类名需与要连接的数据库名一样 Linq文件是dbml结尾,一个数据库对应一个Linq文件,比如送你要连接data0720这个数据库,linq的名字也取data0720(2)数据库连接打开服务器资源管理器,点击下图黄圈内按钮,连接到数

表结构修改以及sql增删改查

修改表结构 修改表名 alter table 表名 rename 新名 增加字段 alter table 表名 add 字段名 数据类型 约束 删除字段 alter table 表名 drop 字段名 修改字段 alter table 表名 change 旧字段名 新字段名 数据类型 约束条件 修改字段顺序 alter table 表名 add 字段名 数据类型 约束条件 first #将该字段放在第一行 alter table 表名 add 字段名 数据类型 约束条件 after 字段名2 #

基础的增删改查,数据库优化,索引

mysql的特点 关系型数据库,免费使用, 插入式存储引擎, 性能高, 基础的增删改查 ddl语句,数据定义语句 123456789101112 create database test1;drop database test1;use test1;create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));drop table emp;alter table emp modify ename

完整增删改查,数据库字符串攻击

复习一下,基础的增删改查, 增一条信息,删一条信息.改一条信息 询问语句 Console.WriteLine("请输入你的学号"); string xuehao = Console.ReadLine(); Console.WriteLine("请输入你的姓名"); string name = Console.ReadLine(); Console.WriteLine("请输入你的班级"); string banji= Console.ReadLi