一般查询

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. Python中进行Base64编码和解码

    Base64编码 广泛应用于MIME协议,作为电子邮件的传输编码,生成的编码可逆,后一两位可能有“=”,生成的编码都是ascii字符.优点:速度快,ascii字符,肉眼不可理解缺点:编码比较长,非常容 ...

  2. 9.java.lang.ClassCastException

    java.lang.ClassCastException 数据类型转换异常 当试图将对某个对象强制执行向下转型,但该对象又不可转换又不可转换为其子类的实例时将引发该异常,如下列代码. Object o ...

  3. 第五章 Spring3.0 、Hibernate3.3与Struts2的整合

    5.1整合Spring与Hibernate 5.1.1使用MyEclipse加入Spring与Hibernate功能 使用MyEclipse工具主要是为了让工程拥有把数据表生成实体类与映射的功能.然后 ...

  4. openStack images概念及维护

    更改以创建镜像的属性 glance image-update img-uuid --property architecture=arm --propertyhypervisor_type=qemu C ...

  5. #include <memory>

    1 auto_ptr 2 unique_ptr 1 auto_ptr C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理. 使用std::auto_ptr,要#inc ...

  6. 04737_C++程序设计_第8章_多态性和虚函数

    例8.1 分析下面程序的输出结果. 例8.2 分别使用指针和引用的display函数. #include <iostream> using namespace std; const dou ...

  7. Saiku如何固定查询结果table的表头和首列

    在使用saiku查询的时候,当“行”和“列”的维度内容过多时,在查看时只看到数据,不知道是什么数据,维度不清楚,得来回拖动滚动条才行,所以同事提出想要固定“表头”和“首列”. 在网上找了一些现成的插件 ...

  8. Review1-11

    泛型 泛型类 Public 类名 class<T>{} 泛型方法 Public static <T> 返回类型 方法名(<T> t){} 泛型类型必须使用引用类型 ...

  9. [有用命令]Linux 用户,用户组

    更改文件拥有者 -R 是递归的意思 chown [ -R ] root.work test 将test 文件 改为 拥有者 root , 用户组 work. chown [ -R ] work tes ...

  10. spring bean之间的关系:继承;依赖

    概要: ' 继承Bean配置 Spring同意继承bean的配置,被继承的bean称为父bean,继承这个父Bean的Bean称为子Bean 子Bean从父Bean中继承配置,包含Bean的属性配置 ...