linq(languageIntegratedQuery)语法:
from[数据项]in[数据源]where[筛选条件]group[数据项]by[分组项]into[分组后名称]orderby[排序条件]

LinqToSql

第一步骤:
创建对象模型:
方法(1):使用对象关系设计器(objectrelationdesigner),对现有的数据库创建对象模型,包含在VS2010中,适合小型或中型数据库;DataContext表示LinqToSql的主入口点,充当数据库与映射数据库的LinqToSql实体类之间的管道,就是添加LINQtoSQL类,
方法(2):使用SqlMetal代码生成工具,适合大型数据库;
方法(3):直接创建对象代码,手工制作;
第二步骤:
使用对象模型:

//绑定linqtosql数据源
protectedvoidPage_Load(objectsender,EventArgse)
{
//创建数据源
DataClassesDataContextdata=newDataClassesDataContext();
varworkerquerty=fromworkerindata.Workerselectworker;//创建LinqtoSql查询指令
this.GridView1.DataSource=workerquerty;
this.GridView1.DataBind();

}
//删除满足条件的数据
protectedvoiddeletebtn_Click(objectsender,EventArgse)
{
DataClassesDataContextdata=newDataClassesDataContext();
varworkerdelrow=fromworkerindata.Workerwhereworker.name=="阿斯蒂芬"selectworker;
foreach(varrowinworkerdelrow)
{
data.Worker.DeleteOnSubmit(row);
}
try
{
data.SubmitChanges();
}
catch(Exceptionex)
{
Response.Write(ex.ToString());
}
this.GridView1.DataBind();
}
//插入数据到数据源中(数据源直接绑定到数据库中,相当于插入到数据库)
protectedvoidinsertbtn_Click(objectsender,EventArgse)
{
Workerworker=newWorker();
worker.name="阿斯蒂芬";
worker.sex="nan";
worker.age=354;
worker.address="地球";
worker.birthday=DateTime.Now;
DataClassesDataContextdata=newDataClassesDataContext();
data.Worker.InsertOnSubmit(worker);
try{data.SubmitChanges();}
catch(Exceptionex){Response.Write(ex.ToString());}
this.GridView1.DataBind();

}
//更新数据到数据源中;
protectedvoidUpdateBtn_Click(objectsender,EventArgse)
{
DataClassesDataContextdata=newDataClassesDataContext();
varupdataRow=fromworkerindata.Workerwhereworker.id==3selectworker;
foreach(varrowinupdataRow)
{
row.name="fadsfe";
}
try{data.SubmitChanges();}
catch(Exceptionex){Response.Write(ex.ToString());}
this.GridView1.DataBind();
}
执行过程:查询---》linqtosqlAPI---->linqtosql提供程序----->ADO提供程序-----》Sql数据库-----》对象枚举----》用户对象