Linq 嵌套子查詢


遇到一個問題就卡了很久 本來想的是使用EF執行原生SQL的 但是出現了讀取器不兼容的問題 這個我還沒搞懂是咋回事TAT

於是就嘗試用EF+linq寫嵌套子查詢 因為原生SQL語句的話 我已經寫好了在數據庫也是可以執行正確的 select *,子查詢語句 from 表名 where條件這種

看了一些教程 以及摸索着寫 代碼如下

1.首先寫的viewmodel需要定義為list集合類型的 因為查詢出來的數據不止一條

 1     public class VotesModel
 2     {
 3         public int? NewsNum { get; set; }
 4        
 5         public List<VotesModel1> VotesModels { get; set; }
 6     }
 7     public class VotesModel1 
 8     {
 9         public string NewsTitle { get; set; }
10     }

2.其次就是編寫linq語句了 兩種寫法都是OK的

 1  //var query = (from a in 表名
 2  //             where 條件
 3  //             select new VotesModel
 4  //             {
 5  //                 NewsNum = a.NewsNum,
 6  //                 VotesModels = (from b in db.News
 7  //                                where 條件
 8  //                                select new VotesModel1
 9  //                                {
10  //                                    NewsTitle = b.NewsTitle
11  //                                }).ToList()
12  //             }).ToList();
13  var query = (from a in14               where 條件
15               select new 
16               {
17                NewsNum = a.NewsNum,
18                VotesModels = (from b in db.News
19                               where a.TypeID == b.NewsID
20                               select  b.NewsTitle )
21              }).ToList();

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM