随笔分类 -  Linq系列

摘要:/*********************开放式并发事务,null和 DateTime,string操作练习**********************************/ //所谓并发,就是两个或更多用户同时尝试更新同一数据库行的情形。并发冲突就是两个或更多用户同时尝试向一行的一列或多列提交冲突值的情形。 //LINQ to SQL 支持三种事务模型,分别是显式本地事务:调用 SubmitChanges 时,如果 Transaction 属性设置为事务,则在同一事务的上下文中执行 SubmitChanges 调用。成功执行事务后,要由您来提交或回滚事务。与事务对应的连接必须与用于构. 阅读全文
posted @ 2014-03-20 22:05 秋日的私语(且行且珍惜) 阅读(200) 评论(0) 推荐(0)
摘要:/*********************Insert,delete,update,attach操作练习**********************************/ //简单插入形式 var student = new T_Student { stuNumber = "20091777", stuName = "张航", stuAge = 23, stuSex = "男" }; ctx.T_Student.InsertOnSubmit(student); ctx.SubmitChanges(); //一对多形式,或者多对多 阅读全文
posted @ 2014-03-20 01:01 秋日的私语(且行且珍惜) 阅读(473) 评论(0) 推荐(0)
摘要:/*********************Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习**********************************/ //判断没有成绩的学生 var list = from s in ctx.T_Student where !s.T_Score.Any() select s; //判断有成绩大于80的学生 var list1 = (from s in ctx.T_Student where s.T_Score.Any(t => t.score > 阅读全文
posted @ 2014-03-17 10:31 秋日的私语(且行且珍惜) 阅读(343) 评论(0) 推荐(0)
摘要:/**************OrderBy ,Groupby练习*******************/ //按学生的总分数按降序排列排序 var list = from s in ctx.T_Student join c in ctx.T_Score on s.stuNumber equals c.stuNumber into temp from t in temp orderby temp.Sum(k => k.score) descending select new { stuName = s.stuName, scoreSum = temp.Sum(k=>k.score) 阅读全文
posted @ 2014-03-16 20:12 秋日的私语(且行且珍惜) 阅读(545) 评论(0) 推荐(0)
摘要:/**************join 练习*******************/ //对于1对多关系 var list =from c in ctx.T_Student from s in c.T_Score where c.stuName=="黄阳" select s; //也可以间接的通过表关联其它表,这个结果和上边的查询结果相同 var list1 = from s in ctx.T_Score where s.T_Student.stuName=="黄阳" select s; //多对多关系,他们之间的关系是1:M:1 var list2 = 阅读全文
posted @ 2014-03-16 15:23 秋日的私语(且行且珍惜) 阅读(175) 评论(0) 推荐(0)
摘要:/**************聚合函数 练习*******************/ //求学生的总数量 var list = ctx.T_Student.Count(); //当有大量数据的时候可以用longcont var list3 = ctx.T_Student.LongCount(); //求所有学生的年龄的和,这是简单形式 var list1 = ctx.T_Student.Select(s=>s.stuAge).Sum(); //或者这样也可以求学生的年龄和,这是映射形式 var list2 = ctx.T_Student.Sum(s=>s.stuAge); //查询 阅读全文
posted @ 2014-03-15 23:54 秋日的私语(且行且珍惜) 阅读(223) 评论(0) 推荐(0)
摘要:void dataBindByWhere() { /**************select/distinct 练习*******************/ //获取数据库中的T_Student表数据 var list = from s in ctx.T_Student select s; //采用匿名类型 var list1 = from s in ctx.T_Student select new { stuNumber = s.stuNumber, stuSex = s.stuSex, //这里边是可以计算的 stuAge = s.stuAge / 2 + s.stuAge / 2, // 阅读全文
posted @ 2014-03-15 23:09 秋日的私语(且行且珍惜) 阅读(194) 评论(0) 推荐(0)
摘要:linq主要有3种,linq to sql,linq to XML,Linq to Objectlinq to sql。这里没有通过相应的类,生成相应的数据库中的表。没有用流行的编码优先。只是为了自己的练习。通过生成的linq类,把数据库中的表,存储过程,视图等映射出来。其中数据上下文是链接实体类和数据库的桥梁,这是非常重要的。现在开始Linq tosql之旅。数据库中的代码如下所示:--查询数据库中是否含有数据库DB_Student,有则删除if exists(select 1 from sys.sysdatabases where [name]='DB_Student') 阅读全文
posted @ 2014-03-15 22:00 秋日的私语(且行且珍惜) 阅读(444) 评论(0) 推荐(0)