zoukankan      html  css  js  c++  java
  • MVC 学习(二)之Linq to Sql 简单Demo

      Linq to Entities 已经我的一篇博文中阐述了,这里阐述一下简单的Linq to Sql 的增删改查。Linq to sql 与Linq to Entities虽然同属于DataBase-First,但存在着一些细小的差别。

      Linq to Sql 的实体类载体的后缀为dbml。

      此篇Demo的数据库与前一篇博文Linq to Entities的数据库一致,VS2010与Sql 2005。

      首先 创建dbml文件。步骤如下

      1、

      2、

      这样我们就建立好了dbml文件了,数据库连接的配置文件也已经在app.config文件中自动生成了。

      No1、查询出所有学生的姓名、年龄以及所选课程,代码如下

    Main()函数代码如下
    StudentDataContext StudentDB
    = new StudentDataContext(); var Students = StudentDB.StudentInfo.ToList<StudentInfo>(); foreach (var student in Students) { Console.WriteLine(student); string sourceName = string.Empty; foreach (var source in student.SourceInfo) { sourceName += source.SourceName + " "; } Console.WriteLine("所选课程有:" + sourceName); } public partial class StudentInfo { public override string ToString() { return string.Format("姓名:{0},年龄 {1}", this._SName, this._SAge); } }

      No2、增加一个学生的信息,并且添加此学生所选课程。

      如果我们不写Sql语句,则代码如下 

                StudentInfo StudentModel = new StudentInfo
                {
                    SID = 5,
                    SName = "范冰冰",
                    SAge = 35
                };
                SourceInfo SourceModel = new SourceInfo
                {
                    SourceName = "高级护理",
                    StudentID = 5
                };
                StudentDB.StudentInfo.InsertOnSubmit(StudentModel);
                StudentDB.SourceInfo.InsertOnSubmit(SourceModel);
                StudentDB.SubmitChanges();

      当然Linq to Sql是灵活的,它提供了ExecuteCommand等方法供我们写Sql语句。代码如下

    string strSql = "insert into StudentInfo values({0},{1},{2})";
    StudentDB.ExecuteCommand(strSql, new object[] { 6, "花样年华", 18 });

      No3、修改数据。

      当不直接书写Sql语句修改数据时,需要将修改的数据取出,然后将需要更改字段的值重新赋值,最后提交给数据库。代码如下

     var StudentModel = StudentDB.StudentInfo.SingleOrDefault(c => c.SID == 6);
                StudentModel.SAge = 19;
                StudentDB.SubmitChanges();

      如果使用Sql语句更新数据,代码如下

    string strSql = "update StudentInfo set SAge=25 where SID=6";
    StudentDB.ExecuteCommand(strSql);

      No4、删除数据。代码如下(删除Sql语句这里我就不写了) 

           var StudentModel = StudentDB.StudentInfo.SingleOrDefault(c => c.SID == 6);
                if (StudentModel != null)
                {
                    StudentDB.StudentInfo.DeleteOnSubmit(StudentModel);
                    StudentDB.SubmitChanges();
                }

      至此,Linq to Sql简单的增删改查Demo就完成了。

  • 相关阅读:
    zookeeper系列之二—zookeeper历史
    zookeeper系列之一—zookeeper入门
    Storm系列之三——Fault Tolerance
    2019杭电多校 permutation2
    Java传(1)
    Python记: 列表:Python的主力
    Matches Game
    Ad Hoc类问题
    数论夏夜实战,然夯实基础尤为重要!
    Python记:通用的序列操作之成员资格(听起来倒是有些抽象的!)
  • 原文地址:https://www.cnblogs.com/xianrongbin/p/3266149.html
Copyright © 2011-2022 走看看