zoukankan      html  css  js  c++  java
  • Entity Framework 使用

    1.EF中Include方法的使用
    使用Include方法,告诉EF连接查询哪个外键属性,生成Inner join连接

    //必须引用using System.Data.Entity;才能用Include
    IQueryable<UsersAddress> addrs = db.UserAddresses.Include(u=>u.User);

    //IQueryable<UsersAddress> addrs = db.UserAddresses.Include("User");
    foreach(UsersAddress add in address) { Console.WriteLine(add.udAddress+":userName="+add.User.uName); }

    2.EF中修改对象,不需要先查询,然后修改

    User user = new User(){ uId=8,uName = "aa"};
    //将对象加入EF容器中并获取当前实体对象的状态管理对象
    DbEntityEntry<User> entry = db.Entry<User>(user);
    entry.State = System.Data.EntityState.Unchanged;
    //设置该对象的uName属性为修改状态
    //必须引用using System.Data.Entity;才能用Property
    entry.Property(u=>u.uName).IsModified = true;
    //entry.Property("uName").IsModified = true;
    db.SaveChanges();

    3.EF中删除操作

    User user = new User(){ uId=8};
    db.Users.Attach(user);
    db.Users.Remove(user);
    db.SaveChanges();

    4.EF执行存储过程

    在 Sql Server 2008 中创建一个简单的存储过程,如下:

    CREATE PROCEDURE [dbo].[P_GetArticleByID] 
            @ID int
    AS
    BEGIN
            SELECT ID,Title FROM Articles
            WHERE ID=@ID;
    END

    查询存储过程在 Controller 中的写法:

    BlogContext db = new BlogContext();
    SqlParameter[] parms = new SqlParameter[1];
    parms[0] = new SqlParameter("@ID", 1);
    var result = db.Articles.SqlQuery("exec P_GetArticleByID @ID", parms);
    return View(result);

    可见,我们通过执行 Sql 语句的方法来使用存储过程.增、删、改方法:

    int result = db.Database.ExecuteSqlCommand("exec P_DeleteArticleByID @ID", parms);

     5.EF中查询一对多的数据注意

    SalesCoupon s = db.SalesCoupon.FirstOrDefault();
    int i = s.UserCoupon.Where(u => u.IsUse == true).Count();//这里查询的时候会将s相关的UserCoupon全部加载到内存中然后在内存中进行筛选

    ICollection<UserCoupon> userCoupons = s.UserCoupon;//此时就会将s相关的UserCoupon全部加载到内存中

    所以当使用一对一的时候可以这样使用,一对多的时候不能这么使用

  • 相关阅读:
    Hive的安装搭建(二)
    Hive的基本介绍(一)
    HADOOP之HDFS使用idea练习MapReduce(八)
    HADOOP之HDFS使用idea操作MapReduce(七)
    HADOOP之HDFS增加MapReduce(六)
    HADOOP之HDFS用idea操作(五)
    HADOOP之HDFS环境搭建(四)
    HADOOP之HDFS环境搭建(三)
    HADOOP之HDFS环境搭建(二)
    HADOOP之HDFS环境搭建(一)
  • 原文地址:https://www.cnblogs.com/yxlblogs/p/3567785.html
Copyright © 2011-2022 走看看