zoukankan      html  css  js  c++  java
  • DBContext基础查询

    https://www.cnblogs.com/gosky/p/5752001.html

    遍历所有实体

    复制代码
    //遍历所有学生 DBSet
    using (var db = new Entities())
    {
        foreach (var student in db.Student)
        {
            ObjectDumper.Write(student.StudentName);
        }
    };
    复制代码

    说明:打印所有学生的姓名

    根据条件查询

    复制代码
    using (var db = new Entities())
    {
        //查询所有出生日期在1991年1月1日之后的学生
        var day = Convert.ToDateTime("1991-1-1");
        var students = from v in db.Student where v.Birthday >= day select v;
        foreach (var student in students)
        {
            ObjectDumper.Write(student.StudentName+"-"+student.Birthday);
        }
    };
    复制代码

    执行结果:

    此处注意:使用linq和lamba时,变量一定要提前转存,不能在linq内部使用C#函数。

    错误的写法:

    复制代码
    using (var db = new Entities())
    {
        var students = from v in db.Student where v.Birthday >= Convert.ToDateTime("1991-1-1") select v;
        foreach (var student in students)
        {
            ObjectDumper.Write(student.StudentName+"-"+student.Birthday);
        }
    };
    复制代码

    这样写直接就会报错:

    按照生日排序 升序排列(默认)

    复制代码
    using (var db = new Entities())
    {
        var students = from v in db.Student
                        orderby v.Birthday
                        select v;
        foreach (var student in students)
        {
            ObjectDumper.Write(student);
        }
    };
    复制代码

    降序:descending

    var students = from v in db.Student
                    orderby v.Birthday descending
                    select v;

    查询单个实体 Find方法

    复制代码
    //find查询单个实体
    using (var db = new Entities())
    {
        var student = db.Student.Find(1);
        ObjectDumper.Write(student);
    };
    复制代码

    说明:根据主键查询Student信息,如果找不到,则返回 NULL

    查询单个实体 Single方法

    复制代码
    //Single查询单个实体
    using (var db = new Entities())
    {
        var student = from v in db.Student
                        where v.StudentName=="张三"
                        select v;
        //single方法 查不到记录 或者 多条记录 都会报错
        ObjectDumper.Write(student.Single());
    };
    复制代码

    说明:调用single方法查不到记录 或者 多条记录 都会报错

    查询单个实体 SingleOrDefault方法

    复制代码
    //SingleOrDefault查询单个实体
    using (var db = new Entities())
    {
        var student = from v in db.Student
                        where v.StudentName == "李四"
                        select v;
        //SingleOrDefault方法 查不到记录返回null ,如果查询到多条记录会报错
        ObjectDumper.Write(student.SingleOrDefault());
    };
    复制代码

    说明:调用SingleOrDefault方法 查不到记录放回NULL 如果查询到多条记录报错

    完整案例:

    复制代码
    //遍历所有学生
                using (var db = new Entities())
                {
                    var students = from v in db.Student select v;
                    foreach (var student in students)
                    {
                        ObjectDumper.Write(student);
                    }
                };
    
                Console.WriteLine("==========按照生日排序===========");
                //按照生日排序 升序
                using (var db = new Entities())
                {
                    var students = from v in db.Student
                                    orderby v.Birthday descending
                                    select v;
                    foreach (var student in students)
                    {
                        ObjectDumper.Write(student);
                    }
                };
    
                Console.WriteLine("==========find查询单个实体===========");
                //find查询单个实体
                using (var db = new Entities())
                {
                    var student = db.Student.Find(1);
                    ObjectDumper.Write(student);
                };
    
                Console.WriteLine("==========single查询单个实体===========");
                //Single查询单个实体
                using (var db = new Entities())
                {
                    var student = from v in db.Student
                                    where v.StudentName=="张三"
                                    select v;
                    //single方法 查不到记录 或者 多条记录 都会报错
                    ObjectDumper.Write(student.Single());
                };
    
                Console.WriteLine("==========SingleOrDefault查询单个实体===========");
                //SingleOrDefault查询单个实体
                using (var db = new Entities())
                {
                    var student = from v in db.Student
                                    where v.StudentName == "李四"
                                    select v;
                    //SingleOrDefault方法 查不到记录返回null ,如果查询到多条记录会报错
                    ObjectDumper.Write(student.SingleOrDefault());
                };
    复制代码
  • 相关阅读:
    Spark调优之JVM调优
    hive连接MySQL报错
    Kafka安装
    Linux系统Mini版配置相关
    Linux系统完整安装在虚拟机Mini
    hive_异常_01_(未解决)FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoop.hbase.HTableDescriptor.addFamily(Lorg/apache/hadoop/hbase/HColumnDescriptor;)V
    HBase的详细安装部署
    MyCat实现数据库与数据库之间的读写分离
    git+github
    react--入门
  • 原文地址:https://www.cnblogs.com/wfy680/p/11969392.html
Copyright © 2011-2022 走看看