首页 > 其他 > 详细

Entity Framework 数据上下文的一些操作

时间:2014-02-24 10:22:25      阅读:344      评论:0      收藏:0      [点我收藏+]

 

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ModelFirst
{
    class Program
    {
        static void Main(string[] args)
        {
            DataModelContainer db = new DataModelContainer();

            #region 关联实体插入数据库
            //创建一个309   创建学生放到数据库里面

            ////创建班级
            //ClassInfo classInfo = new ClassInfo()
            //                          {

            //                              CName = "309",
            //                              Remark = "dotnet班"
            //                          };
            ////创建学生
            //Student student1 = new Student();
            //student1.StuName = "小李";

            //student1.ClassInfo = classInfo;

            ////创建学生
            //Student student2 = new Student();
            //student2.StuName = "小马";

            //student2.ClassInfo = classInfo;


            //db.Student.AddObject(student1);
            //db.Student.AddObject(student2);
            //db.ClassInfo.AddObject(classInfo);

            //db.SaveChanges();


            ////自动增长的主键,在插入完数据之后,自动将自动增长的id赋值回实体的主键。
            //Console.WriteLine(classInfo.ID); 
            #endregion

            #region 第二种延迟加载机制: 关联实体如果没有被加载的话,自动去加载关联实体数据

            //// classinfo left join   studen on c.id==studen.classid
            ////.Include("Student") 最终胜出的是sql语句是直接将两个表进行外连接然后将数据一块查询出来

            //var temp = from c in db.ClassInfo.Include("Student")
            //           where c.ID < 10
            //           select c;

            //foreach (var classInfo in temp)
            //{
            //    Console.WriteLine("class:{0}", classInfo.ID);
            //    //第二种延迟加载机制: 关联实体如果没有被加载的话,自动去加载关联实体数据
            //    foreach (var stu in classInfo.Student)
            //    {
            //        Console.WriteLine("\t\tstu:--{0}", stu.ID);
            //    }
            //}

            #endregion


            #region 本地集合和离线集合的区别
            //var temp1 = from s in db.ClassInfo
            //            select s;

            //var temp2 = from c in temp1
            //            where c.ID > 1
            //            select c;

            //foreach (var classInfo in temp2)
            //{
            //    Console.WriteLine(classInfo.ID);
            //}


            ////ToList  ToArrary  AsEnumable :内存型的集合,初始化集合后,立即将数据加载到内存里面来。
            //var temp3 = from c in temp1.ToList()
            //            where c.ID > 1
            //            select c;
            //foreach (var classInfo in temp3)
            //{
            //    Console.WriteLine(classInfo.ID);
            //} 
            #endregion


            #region lambda查询
            ////查询某个表里面的某几个列
            ////linq to EF 提供了查询部分数据的功能
            //var temp = from c in db.ClassInfo
            //           where c.ID > 0
            //           select new { ID = c.ID, MyRemark = c.Remark, Num = c.Student.Count, demo = "你大爷的" };


            //foreach (var VARIABLE in temp)
            //{
            //    Console.WriteLine("id:{0}count:{1}{2}", VARIABLE.ID, VARIABLE.Num, VARIABLE.demo);
            //}



            ////lambad
            //var tempLambda = db.ClassInfo
            //    .Where<ClassInfo>(c => c.ID > 0 && c.ID < 10)
            //    .Select(c => new { id = c.ID, name = c.CName });

            //foreach (var VARIABLE in tempLambda)
            //{
            //    Console.WriteLine(VARIABLE.id);
            //}

            #endregion


            //分页查询:
            var pageData = db.Student
                .Where<Student>(s => s.ID < 13)//过滤
                .OrderByDescending(c => c.ID)//降序排序
                .Skip<Student>(2)//越过多少条数据
                .Take<Student>(2);//取多少条数据

            foreach (var student in pageData)
            {
                Console.WriteLine(student.ID);
            }

            Console.ReadKey();


        }
    }
}
bubuko.com,布布扣

Entity Framework 数据上下文的一些操作

原文:http://www.cnblogs.com/chaohome/p/3562056.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!