一般查询

var Courses = db.Courses.Where(c => c.Title == "Physics").OrderBy(c => c.Title);
foreach (var c in Courses)
{
Console.WriteLine(c.Title);
}

添加

Models.Course model = new Course();
model.Title = "test";
model.DepartmentID = 1;
model.CourseID = 4;
db.Courses.Add(model);
db.SaveChanges();

修改

Models.Course model = new Course();
var result = (from r in db.Courses
where r.Title.StartsWith("test")
orderby r.Title descending
select r).FirstOrDefault(); model = (Course)result;
model.Credits = 4;
model.Title = "good job";
db.SaveChanges();

删除

var result = from r in db.Courses
where r.CourseID == 4
select r;
foreach (var c in result)
{
db.Courses.Remove(c);
}
db.SaveChanges();

简单的函数计算(count,min,max,sum)

var result = (from r in db.StudentGrades
where r.StudentID == 2
select r).Sum(p=>p.Grade);
Console.WriteLine(result);
var result = (from r in db.StudentGrades
where r.StudentID == 2
select r).Max(p => p.Grade);
Console.WriteLine(result);

分页数据查询

var result = (from r in db.People
orderby r.LastName ascending
select r).Skip(5).Take(5);
foreach(var c in result)
{
Console.WriteLine(c.LastName);
}

分组group by

var ss = from r in db.StudentGrades
orderby r.StudentID descending
group r by new { r.StudentID, r.CourseID } into g
select new
{
g.Key,
grade = g.Sum(r => r.Grade)
};
foreach (var r in ss)
{
string output = "StudentID:" + r.Key.StudentID + " CourseID:" + r.Key.CourseID+" grade"+r.grade;
Console.WriteLine(output);
}

复杂的关联查询

var d = db.Database.SqlQueryForDynamic(@"SELECT
c.CourseID,d.[Name] as department,c.Title
FROM
Course c INNER JOIN Department d ON c.DepartmentID = d.DepartmentID");
foreach (dynamic item in d)
{
var s = item.Title;
Console.WriteLine(s);
}
Console.ReadLine();

entity framework 中一些常用的函数 转自http://www.cnblogs.com/williamzhu/的更多相关文章

  1. Entity framework 中Where、First、Count等查询函数使用时要注意

    在.Net开发中,Entity framework是微软ORM架构的最佳官方工具.我们可以使用Lambda表达式在Entity framework中DbSet<T>类上直接做查询(比如使用 ...

  2. 关于Entity Framework中的Attached报错的完美解决方案终极版

    之前发表过一篇文章题为<关于Entity Framework中的Attached报错的完美解决方案>,那篇文章确实能解决单个实体在进行更新.删除时Attached的报错,注意我这里说的单个 ...

  3. [转]在Entity Framework中使用LINQ语句分页

    本文转自:http://diaosbook.com/Post/2012/9/21/linq-paging-in-entity-framework 我们知道,内存分页效率很低.并且,如果是WebForm ...

  4. 在Linq to sql 和 Entity framework 中使用lambda表达式实现left join

    在Linq to sql 和 Entity framework 中使用lambda表达式实现left join 我们知道lambda表达式在Linq to sql 和 Entity framework ...

  5. Entity Framework 教程——Entity Framework中的实体类型

    Entity Framework中的实体类型 : 在之前的章节中我们介绍过从已有的数据库中创建EDM,它包含数据库中每个表所对应的实体.在EF 5.0/6.0中,存在POCO 实体和动态代理实体两种. ...

  6. 关于Entity Framework中的Attached报错相关解决方案的总结

    关于Entity Framework中的Attached报错的问题,我这里分为以下几种类型,每种类型我都给出相应的解决方案,希望能给大家带来一些的帮助,当然作为读者的您如果觉得有不同的意见或更好的方法 ...

  7. 在Entity Framework中使用事务

    继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的. 在Entity Framework中使用事务很简单,将操作放在TransactionS ...

  8. Entity Framework中的多个库操作批量提交、事务处理

    在Entity Framework 中使用SaveChanges()是很频繁的,单次修改或删除数据后调用SaveChanges()返回影响记录数. 要使用批量修改或者批量删除数据,就需要SaveCha ...

  9. LinqToSql和ASP.NET Entity FrameWork 中使用事务

    ASP.NET Entity FrameWork中: int flag = -1; if (this.URPmanagementEntities1.Connection.State != System ...

随机推荐

  1. SQL Server 查看数据页面

    第一步: 找到表的第一页dbcc ind(db_name,table_name,-1); 例子. dbcc ind(studio,person,-1);# pageFID  是文件号   pagePI ...

  2. 文件转换dll mingw

    MinGW:c -> o           gcc -c a.cc -> exe         gcc a.c libs.o -o a.exe (从主程序a.c,附加libs,生成a. ...

  3. QT中代码中与设计器中控件信号与SLOT连接(原来还可以这样连接)

    双击testqt.ui 托一个push button到窗体中,双击,可以输入字符 按F4或 menu->edit->edit signals/slots 定义SLOT 选择已定义好的SLO ...

  4. 如何在C++中获得完整的类型名称(RTTI的typeid在不同平台下有不同的输出值表达,自建类改进了RTTI丢失的信息)

    Wrote by mutouyun. (http://darkc.at/cxx-get-the-name-of-the-given-type/)   地球人都知道C++里有一个typeid操作符可以用 ...

  5. 《UML和模式应用》重点之思想篇

    本书是帮助开发人员和学生学习面向对象分析和设计(OOA/D)的核心技能的重要工具. UML不是OOA/D.也不是方法,仅仅是图形表示法,假设没有真正掌握怎样创建优秀的面向对象设计,或者怎样评估和改进现 ...

  6. Android Popupwindow 拖动

    版本号:1.0 日期:2014.4.29 版权:© 2014 kince 转载注明出处 关于View的拖动大家应该比較了解了,比方对一个控件IamgeView拖动,或者一个视图View拖动,实现方式也 ...

  7. C++四种强制类型转换详解

    什么是类型转换? 类型转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式.为了类型转换一个简单对象为另一个对象你会使用传统的类型转换操作符. C与C++的类型转换 //C中: //复 ...

  8. HTTP的报文格式解析

    一.概述 http报文是面向文本的,报文中每一个字段都是一些ASCII码串,各个字段的长度是不确定的.http有两类报文:请求报文  响应报文 二.请求报文 一个http请求报文由 请求行(reque ...

  9. dataset 用法(3)

    ReadXml 提供了只将数据或同时将数据和架构从 XML 文档读入 DataSet 的方式(若要同时读数据和架构,请使用包括 mode 参数的 ReadXML 重载之一,并将其值设置为 ReadSc ...

  10. 浅谈Mybatis(二)

    一.resultMap 作用:发现数据库的查询结果与实体之间不匹配时,需要通过ResultMap来进行映射处理.常用于多表查询. 多表查询还是比较复杂的,因为可能的情况很多.这里只说两种情况: 1.1 ...