LINQ
LINQ下采用单件模式的安全线程,改自ClubOf
namespace TiiBii.Module{ public partial class TiiBiiDataBaseDataContext { private static TiiBiiDataBaseDataContext _instance; private static object lockHelper = new object(); pu...
第3张 深入DataContext和LINQ to SQL 对象模型 DataContext介绍
DataContext类是一个我们操作所连接到的数据库的一个重要方法。他位于System.Data.Linq的命名空间下,是连接数据库和数据库实体之间的一个纽带,使用DataContext,就相当于我们使用ADO.NET的S...
2.4 LINQ基础操作 下
2.4.4、更新数据 针对于数据的更新,LINQ操作也是比较简单的,它仅需要对一个已有的实体中的元素进行重新赋值,并执行SubmitChanges即可完成对数据库的更新操作。 例: UsersDataContext ...
2.4 LINQ基础操作 上
2.4.1、创建、删除数据库 LINQ不仅能从现有数据库中生成数据库对象模型(即DBML文件),而且能从现有的单个数据库对象模型中反向生成数据库(注:仅仅是单个数据库对象模型,即单个DBML文件...
2.3.13 ToArray、 ToList、ToDictionary、ToLookup
l ToArray:将查询结果转化成为数组,此函数不延时加载。 例: protected void btnToArray_Click(object sender, EventArgs e) { ProvinceCityDataContext dal = new ProvinceCityData...
2.4.12 Skip、SkipWhile、Take、TakeWhile
2.3.12 Skip、SkipWhile、Take、TakeWhile l Skip:跳过集合的指定前几个元素,此函数延时加载。 例: protected void btnSkip1_Click(object sender, EventArgs e) { int ints = ne...
2.4.11 Select、SelectMany
l Select:对指定集合进行选择操作。相当于Sql语句的Select操作,此函数延时加载 例: protected void btnSelect1_Click(object sender, EventArgs e) { ProvinceCityDataContext dal =...
GroupBy OrderByDescending Reverse TheyByDescending
2.4.10 GroupBy 、OrderBy、OrderByDescending、Reverse 、ThenBy、TheyByDescending l GroupBy:对数据集进行分组,相当于Sql语句的Group,此函数延时加载。 protected void btnGroupBy_C...
2.4.9 Join、GroupJoin
l Join:以一个共同的字段求两个集合中符合要求的交集,并将每个集合符合要求的记录以共同的字段为牵引合并起来(相当于Sql语句的Join操作),此函数延时加载。 例: protected void btnJo...
2.4.8 Empty、Range、Repeat
l Empty:构造一个指定类型的空元素,此函数延时加载。 例: protected void Page_Load(object sender, EventArgs e) { UsersDataContext dal = new UsersDataContext(); var q =...
2.4.7 ElementAt、ElementAtOrDefault
l ElementAt:返回集合中指定索引的元素,若指定索引的元素不存在,则报异常,此函数不延时加载。 protected void btnElementAt_Click(object sender, EventArgs e) { UsersDataContex...
2.4.6 First、Last、Single
l 2.4.6 First、Last、Single :与FirstOrDefault、LastOrDefault、SingleOrDefault作用相同,但需要注意的是若指定得条件不存在,则报异常,也就是说此函数必须要操作查询结果为必须存在的结...
2.4.5 DefaultIfEmpty (First Last Single)OrDefault
l DefaultIfEmpty函数:若指定数据源为空的时候,返回一个默认值,此函数延时加载。 例: int ints = { 1, 2, 3, 4, 5, 6 }; var result = ints.DefaultIfEmpty(); foreach (int x in...
2.4.4 Concat、Union、Distinct、Except、Intersect
l Concat函数:对两个集合进行合并操作,此函数延时加载。 例: protected void btnConcat_Click(object sender, EventArgs e) { UsersDataContext dal = new UsersDataContext();...
2.4.3 Cast、OfType
l Cast函数:将结果以指定的类型返回,此函数延时加载。 例: protected void Page_Load(object sender, EventArgs e) { UsersDataContext dal = new UsersDataContext(); var ...
Average、Aggregate、Count、LongCount、Max、Min、Sum
Average函数:根据条件返回字段的平均值,此函数不延时加载。 例: int ints = { 1, 2, 3, 4, 5, 6 }; double result = ints.Average(); 执行结果为:(1+2+3+4+5+6)/6=3.5。 l Aggrega...
2.4.1 All、Any、Contains、Where
l All函数:根据条件查询数据源,若数据源中所有数据均满足,返回True,若不满足,则返回False,此函数不延时加载。 例: protected void btnAll_Click(object sender, EventArgs e) { ...
2.3.4 InsertOnSubmit、InsertAllOnSubmit
a. InsertOnSubmit: 将一个实体添加到datacontext对象中,并在SubmitChange()的时候执行更改。 b. InsertAllOnSubmit:将一个实体集合添加到datacontext对象中,并在SubmitChange()的时候执行更...
2.3.3 GetModifiedMembers, GetOriginalEntityState
a. GetModifiedMembers 得到实体最近一次的更改记录,包括原值,新值等信息 b. GetOriginalEntityState 仅得到实体的原始记录。 例: protected void btnGetModifiedMembers_Click(objec...
2.3.2 Equals 判断两个实体是否相同。
例: protected void btnEquals_Click(object sender, EventArgs e) { UsersDataContext dal = new UsersDataContext(); Response.Write(dal.Users.Where(s = s.UserName.Equals(''...
2.3.2 DeleteOnSubmit、DeleteAllOnSubmit
a. DeleteOnSubmit: 将一个实体从datacontext对象中删除,并在SubmitChange()的时候执行更改。 b. DeleteAllOnSubmit:将一个实体集合从datacontext对象中删除,并在SubmitChange()的时候执行更...
2.3.1 Attach, AttachAll
2.3.1 Attach, AttachAll a.Attach: 将已有的单条DataConatext实体附加到新的DataContext对象中。 b. AttachAll:将已有的DataConatext实体集合附加到新的DataContext对象。 protected vo...
2.2.3 查询表达式 2.2.4延时加载
2.2.3 查询表达式 LINQ的查询叫做查询表达式,查询表达式必须以from关键字开头,并且使用类似Select,Where,Count等来进行SQL语句的操作。 例: UsersDataContext dal = new UsersDataC...
2.2.2 类型的自动推断
当然,Lambda表达式和匿名方法除了语法简练了以外,还是有一些区别的:匿名方法必须要指定类型,而Lambda表达式则不需要。 注意看以下Lambda表达式 d = d.UserName == ''Tom'' 这里 d 并...
2.2.1 Lambda表达式
Lambda表达式可以理解为匿名函数的简化表示方法,它和匿名函数只是不同的两种表现方式而已。也就是说他们唯一不同的是:语法表现形式不同--Lambda表达式是在语法上面的进一步进化。由于Lamb...
2.1 如何建立LINQ项目 下
数据库对象模型 那么,我们该怎么生成数据库对象模型呢? a) 通过O/R(Object Relational Designer)设计器生成: O/R设计器是一个可视的、所见即所得的图形化设计LINQ toSQL实体类的工具,...
2.1如何建立LINQ项目
VisualStudio.Net 2008自身已经完美的支持LINQ了我们可以通过File-New WebSite来建立一个LINQ的WebSite应用程序。在图2-1中我们可以看到Visual Studio.Net 2008比前一些版本多了个.NET Frame...
1.3 为什么要使用LINQ
参考第1.2小节的例子,如果我们没有使用 LINQ来列出来数据库表Users的所有数据,则需要以下步骤: SqlConnection sqlConnection = new SqlConnection(数据库链接字符串);SqlCommand sqlComm...
1.2 LINQ能做什么
如果我们想要列出来数据库表Users的所有数据,则可通过以下代码来实现: GridView1.DataSource=from c in users select c; GridView1.DataBind(); 这就是Linq语法,看起来有点类似于SQL语...
1.1 LINQ概述
经过了最近 20 年,面向对象编程技术( object-oriented (OO) programming technologies )在工业领域的应用已经进入了一个稳定的发展阶段。开发者现在都已经认同像 类(classes)、对象(ob...
