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语句发送到数据库执行

  • 相关阅读:
    reason: ‘Could not instantiate class named NSLayoutConstraint’
    wzplayer 成功支持IOS
    【搜索】P1219 八皇后
    原生JS的移入溢出控制div的显示与隐藏
    es3设置属性不能修改
    插槽在父组件和子组件间的使用(vue3.0推荐)
    es5设置属性不能修改
    jquery操作css样式的方法
    基于jQuery的AJAX和JSON的实例 模版
    C#实现根据IP 查找真实地址
  • 原文地址:https://www.cnblogs.com/step-city/p/5842050.html
Copyright © 2011-2022 走看看