entity framework 中一些常用的函数 转自http://www.cnblogs.com/williamzhu/

一般查询

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();

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。