Linq,全称Language Integrated Query,作为C#3.0新语法,是C#语言的一个扩展,可以将数据查询直接集成到编程语言本身中。 Linq表达式和SQL语句差不多,说白了就是颠倒sql语法, from where select ...,从from开始,以select/group by 结束,输出一个IEnumerable<T>或 IQueryable<T>的集合。世间万物皆系于一箭之上,存在即合理,技术是进步的,还可使用标准化查询运算符(SQO),继承自IEnuberable<T>接口,提供了 筛选、投影、聚合、排序等功能的方法,缺点就是语句太多庞大复杂。优点使用便捷,有即时加载(FindAll)和延时加载(Where)

EF(Entity Framework)Ado.NET中面向开发数据的一种技术,有Code First、Model First、Database First,是微软的一个ORM框架。

Lambda表达式的本质就是匿名函数,可以包含表达式和语句,也可以用于创建委托或表达式树类型,运算符为“=>”,读作 goes to,借用MVC企业级实战书中一图

            new Func<string, int>(delegate (string str) { return str.Length; });

            (delegate (string str) { return str.Length; });    //匿名方法

            (string str) => { return str.Length; };  //Lambda语句

            (string str) => str.Length;  //Lambda表达式

            (str) => str.Lenth;     //省略类型,让IDE去判断

            str => str.Lenth;       //去掉括号

Linq操作的是数据对象,所以需要先建立一个实体对象模型,操作的表如下

USE [IBBC]
GO
CREATE TABLE [Table_1](
IDD INT PRIMARY KEY NOT NULL,
Nnmae VARCHAR() NULL
) INSERT [dbo].[Table_1] ([IDD], [Nnmae]) VALUES (, N'清高祖'),(, N'清高宗'),
(, N'清太祖'),(, N'Test1'),
(, N'Test2'),(, N'Test3'),
(, N'Test4'),(, N'Test5')

查询:

public void Dbquery(int id)
{
IBBCEntities db = new IBBCEntities();
var request = from d in db.Table_1
where d.IDD == id
select new { d.IDD, d.Nnmae };

foreach (var item in request)
{
Console.WriteLine("查詢語法: " + item);
} var request1 = db.Table_1.SingleOrDefault(b => b.IDD == id);
Console.WriteLine("(SQO)方法語法: " +request1.IDD+" "+request1.Nnmae); Console.ReadKey();
}

添加:

//添加:
var add1 = db.Table_1.SingleOrDefault(c=>c.IDD==);
if (add1.IDD.Tostring()==null)
{
Table_1 tb = new Table_1
{
IDD = ,
Nnmae = "張三丰"
};
db.Table_1.Add(tb);
db.SaveChanges();
}

(PS:add1.IDD为Int类型,所以永远不会等于null,故取其ToString(),下同))

修改:

//修改
var update1 = db.Table_1.SingleOrDefault(c => c.IDD == );
if (update1.IDD.Tostring()!=null)
{
update1.Nnmae = "張君寶";
db.SaveChanges();
}

删除:

//刪除
var delete1 = db.Table_1.SingleOrDefault(c=>c.IDD==);
if (delete1.IDD.Tostring()!=null)
{
db.Table_1.Remove(delete1);
db.SaveChanges();
}

权当做学习记录

--市人皆大笑,举手揶揄之

最新文章

  1. Java线程基础实例
  2. UVa 11729
  3. FPGA边缘检测
  4. [数据库操作]Java中的JDBC的使用方法.
  5. Force.com微信开发系列(七)OAuth2.0网页授权
  6. 浅析JavaScript函数的参数
  7. ArrayList集合的语句示例
  8. [转] 网络流算法--Ford-Fulkerson方法及其多种实现
  9. mysqltuner
  10. (转)xml序列化
  11. STL之map、multimap
  12. HDU2602 (0-1背包问题)
  13. Struts2 之 ognl
  14. linux-touch
  15. PHPUnit-附录 C. XML 配置文件
  16. 《Inside C#》笔记(八) 接口
  17. C#常见委托のdelegate定义,Func,Action,Predicate总结
  18. Pronunciation – The Definitive Guide to the Top 100 Words in American English
  19. ExtJS清除表格缓存
  20. Python Modules

热门文章

  1. #20145205 《Java程序设计》第10周学习总结
  2. 然当装入Ubuntu双系统时,会出现无线硬件开关关闭的问题,当然也就无法连网
  3. 实战java虚拟机的学习计划图(看懂java虚拟机)
  4. 【资料下载区】【iCore3相关代码、资料下载地址】更新日期2017/1/5
  5. Windows 10 Build 14997中Edge浏览器已默认阻止Flash运行
  6. jackson注解使用心得
  7. 【php】命名空间 和 自动加载的关系
  8. ElasticSearch返回不同的type的序列化
  9. 为什么要使用CachedRowSetImpl?
  10. 转:MVC 数据验证