整理一下Entity Framework的查询与操作
来源:互联网 发布:js单例模式的应用场景 编辑:程序博客网 时间:2024/04/30 11:34
- SELECT * FROM [Clients] WHERE Type=1 AND Deleted=0 ORDER BY ID
- //Func形式
- var clients = ctx.Clients.Where(c => c.Type == 1 && c.Deleted == 0)
- .OrderBy(c => c.ID)
- .ToList();
- //Linq形式
- var clients = from c in ctx.Clients
- where c.Type == 1 && c.Deleted==0
- orderby c.ID
- select c;
List<string> l = actualContext.Price_Line.Select(c =>c.LineName).ToList();上边是默认类型推断出来的,对应的泛型应该这么写,Select第一个是参数类型,也就是c的类型,第二个是返回值也就是c.name返回的类型
List<string> l2 = actualContext.Price_Line.Select<Price_Line,string>(c => c.LineName).ToList();
- SELECT ID,Name FROM [Clients] WHERE Status=1
- //Func形式
- var clients = ctx.Clients.Where(c => c.Status == 1)
- .Select(c => new { c.ID, Name = c.ComputerName })
- .ToList();
- //Linq形式
- var clients = from c in ctx.Clients
- where c.Status == 1
- select new { c.ID, Name = c.ComputerName }; :
- SELECT * FROM [Clients] WHERE ID=100
- //Func形式
- var client = ctx.Clients.FirstOrDefault(c => c.ID == 100);
- //Linq形式
- var client = (from c in ctx.Clients
- where c.ID = 100
- select c).FirstOrDefault();
- SELECT c.ID,c.ComputerName,g.Name GroupName
- FROM [Clients] c
- LEFT JOIN [Groups] g
- ON c.GroupID = g.ID
- WHERE c.Status=1
- //Func形式
- var clients = ctx.Clients.Where(c => c.Status == 1)
- .Select(c => new
- {
- c.ID,
- c.ComputerName,
- GroupName = ctx.Groups.FirstOrDefault(g => g.ID == c.GroupID).Name
- })
- .ToList();
- //Linq形式
- var clients = from c in ctx.Clients
- where c.Status == 1
- select new
- {
- c.ID,
- c.ComputerName,
- GroupName = (from g in ctx.Groups
- where g.ID == c.GroupID
- select g.Name).FirstOrDefault()
- };
- SELECT c.ID,c.ComputerName,g.Name GroupName
- FROM [Clients] c
- INNER JOIN [Groups] g
- ON c.GroupID = g.ID
- WHERE c.Status=1
- ORDER BY g.Name
- //Func形式
- var clients = ctx.Clients.Where(c => c.Status == 1)
- .Join(ctx.Group, c => c.GroupID, g => g.ID, (c,g) =>
- {
- c.ID,
- c.ComputerName,
- GroupName = g.Name
- })
- .OrderBy(item => item.GroupName)
- .ToList();
- //Linq形式1
- var clients = from c in ctx.Clients
- from g in ctx.Groups
- where c.GroupID == g.ID
- orderby g.Name
- select new
- {
- c.ID,
- c.ComputerName,
- GroupName = g.Name
- };
- //Linq形式2
- var clients = from c in ctx.Clients
- where c.Status == 1
- join g in ctx.Group
- on c.GroupID equals g.ID into result
- from r in result
- order by r.Name
- select new
- {
- c.ID,
- c.ComputerName,
- GroupName = r.Name
- };
- -- 方案1
- SELECT TOP 10 * FROM [Clients] WHERE Status=1
- AND ID NOT IN
- (
- SELECT TOP 20 ID FROM [Clients] WHERE Status=1
- ORDER BY ComputerName
- )
- ORDER BY ComputerName
- --方案2
- SELECT * FROM
- (
- SELECT *, ROW_NUMBER() OVER(ORDER BY ComputerName) AS RowNo
- FROM [Clients]
- WHERE Status=1
- )t
- WHERE RowNo >= 20 AND RowNo < 30
- //Func形式
- var clients = ctx.Clients.Where(c => c.Status=1)
- .OrderBy(c => c.ComputerName)
- .Skip(20)
- .Take(10)
- .ToList();
- //Linq形式
- var clients = (from c in ctx.Clients
- orderby c.ComputerName
- select c).Skip(20).Take(10);
- SELECT Status,COUNT(*) AS Cnt FROM [Clients]
- GROUP BY Status
- ORDER BY COUNT(*) DESC
- //Func形式
- var result = ctx.Clients.GroupBy(c => c.Status)
- .Select(s => new
- {
- Status = s.Key,
- Cnt = s.Count()
- })
- .OrderByDescending(r => r.Cnt);
- //Linq形式
- var result = from c in ctx.Clients
- group c by c.Status into r
- orderby r.Count() descending
- select new
- {
- Status = r.Key,
- Cnt = r.Count()
- };
var queryResult = from p
in
db.Products
where (
new int
?[] {1,2}).Contains(p.CategoryID)
select p;
http://www.cnblogs.com/lovewife/archive/2013/03/26/2982207.html
0 0
- 整理一下Entity Framework的查询与操作
- 整理一下Entity Framework的查询
- 整理一下Entity Framework的查询
- Entity Framework的查询与操作
- Entity Framework的查询与操作
- [整理]Entity Framework 教程
- Entity Framework资源整理
- Entity Framework资源整理
- Entity Framework基于方法的查询语法
- Entity Framework 动态查询
- entity framework 内联查询
- Entity Framework 简单查询
- Entity Framework 查询
- Entity framework查询原理
- 有关Entity Framework的数据模型的操作
- entity framework 批量操作
- Entity Framework--IQueryable与IEnumberable的区别
- Entity Framework:IQueryable与IEnumberable的区别
- 失落的C语言结构体封装艺术
- java泛型的理解
- linux中踢除掉其他终端
- ListView如何加载网络图片,防止内存溢出
- dom4j api 详解
- 整理一下Entity Framework的查询与操作
- js的一些使用
- outsourcing rules
- 一个简单的TCP服务器与客户端示例
- 烟雨里,只愿与君一曲相和
- JSON经典异常:org.json.JSONException: Unterminated string at character
- IOC&AOP学习和探索(一)——AOP基本理论及实现
- java获取上传图片长宽
- linux DVB-T相关驱动装配与软件使用方法