zoukankan      html  css  js  c++  java
  • EF框架学习

     简称EF,ADO.NET Entity Framework是微软以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案,是微软的一个ORM(面向对象的对象模型和关系型数据库的数据结构之间的相互转换)框架。

    1. lambda表达式查询部分列

        DBEntities   bjh=new  DBEntities ();   //实例化EF上下文容器
        //不管遍历多少次,只是查询一次
        var dataLambda = bjh.HKSJ_USERS.Where(c => c.ID > 100).orderby(c=>c.ID) 
                    .Select(c => new { id = c.ID, Name = c.LoginName });
    
         foreach (var item in dataLambda)
    
         {
    
             Console.WriteLine(item.id + "," + item.Name);
    
        }

    以上数据执行了两次SQL语句,如果.Select(c => new { id = c.ID, Name = c.LoginName }).ToList();则只执行一次查询

    IQeurable是你使用数据的时候先让Provider解析查询数据的表达式,,然后去响应的地方去查询数据。而List等已经在本地存放了,你只需要拿出来使用就行了

    1、Edms 下的Context.tt模板专门用来生成EF使用的上下文容器类
    其中构造函数中的名字一定要和app.config 或者web.config中的 ConnectString中的名字一样
    例如:
    public PhoneBookEntities()
    : base("name=PhoneBookEntities")
    {
    }

    2、新增操作步骤
    2.1、实例化实体 groupInfo g=new GroupInfo(){GropuName="aa"}
    2.2、利用EF容器db中的DbSet<T> GroupInfo 属性的Add方法将实体追加到EF容器中
    db.GroupInfo.Add(g);
    2.3、调用EF容器db中的SaveChanges()方法,将sql语句发送到数据库执行

    3、删除步骤
    3.1、先查询实体A(EF将自动将数据库返回的实体追加到容器进行管理)
    3.2、将实体A通过Remove()方法将代理类中的状态值修改成 deleted
    3.3、调用EF容器db中的SaveChanges()方法,将sql语句发送到数据库执行

    4、编辑步骤
    4.1、先查询实体A(EF将自动将数据库返回的实体追加到容器进行管理)
    4.2、将实体A 的属性值修改成最新的值,此时该属性的IsModified属性自动会设置成true
    4.3、调用EF容器db中的SaveChanges()方法,将sql语句发送到数据库执行

  • 相关阅读:
    HDU 2888 Check Corners (模板题)【二维RMQ】
    POJ 3264 Balanced Lineup(模板题)【RMQ】
    poj 3368 Frequent values(经典)【RMQ】
    SPOJ RPLN (模板题)(ST算法)【RMQ】
    UVA 796 Critical Links(模板题)(无向图求桥)
    UVA 315 Network (模板题)(无向图求割点)
    POJ 2029 Get Many Persimmon Trees (模板题)【二维树状数组】
    poj 3067 Japan 【树状数组】
    POJ 2481 Cows 【树状数组】
    POJ 1195 Mobile phones【二维树状数组】
  • 原文地址:https://www.cnblogs.com/step-city/p/5842050.html
Copyright © 2011-2022 走看看