zoukankan      html  css  js  c++  java
  • EF框架下的双表查询

    最近想使用ef做一些开发但是遇到了一些小问题就是如何实现多表的查询然后经过查资料终于找出了结果

    我们知道ef中表的关系是一对一  一对多  多对多

    接下来就讲一下一对一的关系下的栗子

    先编写两个表

    第一个实体数据模型中的字段,名字叫做Userss

    public int UId { get; set; }
    public string Uname { get; set; }  

    第二个实体数据模型中的字段,名字叫做Mission

    public int MId { get; set; }
    public DateTime? Time { get; set; }
    public decimal? Price { get; set; }
    public int? UId { get; set; }
    

    webapi中写的方法

    public IQueryable<more> Showmore()
            {
    
                var linq = from s in mo.Userss
                           from m in mo.Mission
                           where s.UId == m.UId
                           select new more
                           {
                             Uname= s.Uname,
                              MId= m.MId,
                              Time= m.Time,
                              Price= m.Price
                           };
                return linq;
            }

    这个是使用linq做的查询但是这个方法定义的是一个list集合但是集合中的名称是你要查询的多个表中的所有字段的集合形成一个新的实体数据模型

    然后如下新的实体数据模型名字叫做more

    public class more
        {
            public string Uname { get; internal set; }
            public int MId { get; internal set; }
            public DateTime? Time { get; internal set; }
            public decimal? Price { get; internal set; }
        }

    然后将你从linq中查询到的数据赋值给more中的字段中然后就行了调用这个方法就可一查询出你要的数据

     

  • 相关阅读:
    PTA(Advanced Level)1037.Magic Coupon
    PTA(Advanced Level)1033.To Fill or Not to Fill
    PTA(Basic Level)1020.月饼
    PTA(Advanced Level)1048.Find Coins
    PTA(Advanced Level)1050.String Subtraction
    PTA(Advanced Level)1041.Be Unique
    PTA(Basci Level)1043.输出PATest
    PTA(Basic Level)1039.到底买不买
    PTA(Basic Level)1033.旧键盘打字
    PTA(Advanced Level)1083.List Grades
  • 原文地址:https://www.cnblogs.com/zsznh/p/10746676.html
Copyright © 2011-2022 走看看