首页 > 其他分享 >关联键-索引-查询

关联键-索引-查询

时间:2024-05-20 14:31:15浏览次数:16  
标签:Name courses ctx 关联 索引 测试 var query 查询

    ● First:返回序列中的第一条记录,如果没有记录,则引发异常。

    ● FirstOrDefault:返回序列中的第一条记录,如果没有记录,则返回默认值。

    ● Single:返回序列中的唯一记录,如果没有或返回多条记录,则引发异常。

    ● SingleOrDefault:返回序列中的唯一记录;如果该序列为空,则返回默认值;如果该序列包含多个元素,则引发异常。

 

 

        [HttpPost("Course_Find_Name")]//条件查询 没有对应记录会报错
        public Course Course_Find_Name()
        {
            using (var ctx = new MyDbContext())
            {
                var query = ctx.courses.Single(a=>a.Name=="测试1");
                return query;
            }
        }
        [HttpPost("Course_Find_1")]//条件查询 没有对应记录会报错
        public async Task<IEnumerable<object>>  Course_Find_1()
        {
            using (var ctx = new MyDbContext())
            {
                //var query = ctx.courses.FirstOrDefault(a => a.Name == "测试");//第一,默认值
                //var query = ctx.courses.First(a => a.Name == "测试");//第一,报错
                //报错详情
                //System.InvalidOperationException:“Sequence contains no elements”
                //var query = ctx.courses.Single(a=>a.Name=="测试1");
                //var query = ctx.courses.SingleOrDefault(a => a.Name == "测试1");//唯一,默认值,如果有同名则会报错

                //var query = await ctx.courses.FirstOrDefaultAsync(a => a.Name == "测试1");
                //多数据
                //var query = await  ctx.courses.Where(a => a.Name.Contains("测试1")).ToListAsync();//返回测试1,测试2,测试3
                //var query = await ctx.courses.Where(a => a.Name == "测试1").ToListAsync();

                //两表,一对多
                //内连接  其中一条student没有courseId ,则这条记录不返回
                //var query = from a in ctx.courses
                //            join b in ctx.Students on a.Id equals b.CourseId
                //            select new { course= a.Name,student= b.Name };
                //左连接
                var query = from a in ctx.courses
                            join b in ctx.Students on a.Id equals b.CourseId into studentCourses
                            from sc in studentCourses.DefaultIfEmpty()
                            select new
                            {
                                 StudentName = a.Name,
                               CourseName = sc != null ? sc.Name : "No Course"
                            };
                return await query.ToListAsync();
            }
        }

 

标签:Name,courses,ctx,关联,索引,测试,var,query,查询
From: https://www.cnblogs.com/cat-cat/p/18201578

相关文章

  • 子查询习题
    1234567......
  • MySQL全文索引源码剖析之Insert语句执行过程
    本文分享自华为云社区《MySQL全文索引源码剖析之Insert语句执行过程》,作者:GaussDB数据库。1.背景介绍全文索引是信息检索领域的一种常用的技术手段,用于全文搜索问题,即根据单词,搜索包含该单词的文档,比如在浏览器中输入一个关键词,搜索引擎需要找到所有相关的文档,并且按相关性......
  • MySQL查询优化
    MySQL查询优化参考:Mysql数据库查询好慢,除了索引,还能因为什么?一、MySQL查询效率低的常见原因硬件性能不足磁盘IO速度慢CPU性能不足内存不足查询语句不合理使用过于复杂的子查询或者连接(JOIN)使用SELECT*而非选择特定的列使用非索引列进行条件判断表结构问题......
  • 数据库中了解的知识点:视图、触发器、事务、存储过程、函数、流程控制、索引
    【视图】1什么是视图?2视图就是通过查询得到一张虚拟表,然后保存下来,下次可以直接用3其实视图也是表45为什么要用视图?6如果要频繁的操作一张虚拟表,就可以制作成视图,下次可以直接操作78如何操作9#固定语法10createview......
  • 连表操作、子查询、pymysql 模块、sql注入问题(感觉已没有)
    【连表操作】1建表2createtabledep1(3idint,4namevarchar(20)5);6createtableemp1(7idintprimarykeyauto_increment,8namevarchar(20),9sexenum('male','female')notnulldefault'male&......
  • MySQL的索引优化
    一、索引的使用场景1、全值匹配通过主键索引查询mysql>explainselect*fromt_goodswhereid=1\G;***************************1.row***************************id:1select_type:SIMPLEtable:t_goodspartitions:NULLtyp......
  • 用vboxmanage创建-删除-查询磁盘
    1、创建磁盘:vboxmanagecreatemediumdisk--filename="D:\vms\VirtualBox\OnlyConsole\Only\three.vdi"--size=20000--format=VDI2、删除磁盘:vboxmanageclosemedium.\three.vdi--delete3、查询注册表中有多少磁盘vboxmanagelisthdds创建磁盘帮助文档VBoxManagecre......
  • kingbase数据json操作:表转json、json转表、节点查询、节点添加
    1、json_array_elements(json)这个函数将JSON数组转换为行集合。例如:SELECTjson_array_elements('[1,2,3]')ASelement;将返回一个包含每个数组元素的行。2、json_each(json)这个函数将JSON对象展开为(key,value)对。例如:SELECT*FROMjson_each('{"a":1,"b":2}');......
  • Flink同步kafka到iceberg数据延迟,两个checkpoint后才可查询
    一、问题描述用户配置了高级参数很多,观察kafka增量数据不多,flink负载不高情况下两个checkpoint后才可查询到数据。  排查时hdfs有数据文件产生,但是mainfast文件中最新快照id没变化。 二、原因经腾讯排查,用户参数指定高级参数execution.checkpointing.unaligned:true引起......
  • LINQ中使用分页和子查询优化语句
    通过分页加子查询优化后代码:1vardata=fromtestTypeincontext.TestType2joinmodelTypeincontext.ModelTypeontestType.ModelTypeequalsmodelType.IDintomodelJoin3frommodelTypeinmodelJoin.Defau......