LINQ to SQL 小结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/stu_20052369/article/details/87936402

1. VS(visual studio)里获取LINQ to SQL模板

  工具---获取工具和功能---单个组件---LINQ to SQL Class

2. 创建一个项目(以控制台程序为例)

3.添加linq to sql classes

4. 打开server explorer,建立数据库连接,并将表拖到dbml文件中,结果如下图 

5. 在dbml文件的空白处,右键选择属性,填写Context namespace 和 Entity namespace。

 到此,项目和数据库的连接已经建立完成,下面是如何使用的部分。

6. 查

一般查询:

    using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
            {
                var result = from a in dc.Country_Lists
                             where a.IntVersionID >= 4
                             select a;

                foreach (var st in result)
                {
                    Console.WriteLine("country name:" + st.Str40CountryName);
                    Console.WriteLine("RegionID:" + st.IntRegionID);
                    Console.WriteLine("CountryID:" + st.IntCountryID);
                    Console.WriteLine("VersionID:" + st.IntVersionID);
                }

            }

SELECT TOP 5:

       using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
            {
                //SELECT TOP 5
                var result = (from a in dc.Study_Infos
                              orderby a.ID descending
                              select a).Skip(0).Take(5);

                foreach (var item in result)
                {
                    Console.WriteLine("StudyNo: " + item.StudyNo);
                    Console.WriteLine("Sponsor:" + item.Sponsor);

                }

            }

分页查询:

     using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
            {
                //SELECT TOP 5
                var result = (from a in dc.Study_Infos
                              orderby a.ID descending
                              select a).Skip(1*5).Take(5);

                foreach (var item in result)
                {
                    Console.WriteLine("StudyNo: " + item.StudyNo);
                    Console.WriteLine("Sponsor:" + item.Sponsor);

                }

            }

7 增

//insert 
using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
            {
                TableTest item = new TableTest {ID=0, Name = "Jamie1" };
                //dc 上下文环境, TableTests 创建linq to sql 时由数据库拖拽过来的表格
                dc.TableTests.InsertOnSubmit(item);

                dc.SubmitChanges();
            }

 

批量添加

 //Insert
            using (LinqDemo1DataContext db = new LinqDemo1DataContext())
            {

                var list = new List<TableTest> {
                    new TableTest {ID=3, Name = "Jamie2" },
                    new TableTest {ID=5, Name = "Jamie5" },
                    new TableTest {ID=8, Name = "Jamie8" }
                };

                //dc 上下文环境, TableTests 创建linq to sql 时由数据库拖拽过来的表格

                db.TableTests.InsertAllOnSubmit(list);
                db.SubmitChanges();

            }

8 改

 // Update
            using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
            {
                var list = dc.TableTests.Where(c => c.Name =="Jamie1");
                TableTest item = dc.TableTests.Where(c => c.Name == "Jamie1").First();
                item.Name = "GAO JAMIE";
               
                dc.SubmitChanges();
            }

9 删

 // Delete
            using (LinqDemo1DataContext dc = new LinqDemo1DataContext())
            {
                var list = dc.TableTests.Where(c => c.Name == "Jamie1");
                 dc.TableTests.DeleteAllOnSubmit(list);
                //TableTest country = dc.TableTests.Where(c => c.Name == "Jamie1").First();
                //dc.TableTests.DeleteOnSubmit(country);
                dc.SubmitChanges();
            }

10. Cannot perform Create, Update or Delete operations on Table(Employee) because it has no primary key

http://www.a2zmenu.com/Blogs/LINQ/Cannot%20perform%20Create,%20Update%20or%20Delete%20operations%20on%20Table(Employee)%20because%20it%20has%20no%20primary%20key.aspx

猜你喜欢

转载自blog.csdn.net/stu_20052369/article/details/87936402
今日推荐