簡體   English   中英

從 LINQ 查詢中獲取一個字段值

[英]Get one field value from LINQ query

我需要在這個 linq 查詢中獲取 q2.RoomId 的一個值,如下所示,並將其傳遞給字符串變量。 是否可以為 select 設置別名列名?

var result = from q1 in _db.DormApplications
              join q2 in _db.DormRooms
              on q1.DormRoomId equals q2.Id
              where q1.Poster ==  username && q1.Review == EnableType.YES  
              && now > q1.Sdate && now <q1.Edate
              select new { q1.Name, q1.Sdate, q1.Edate, q1.DormRoomId, 
              q2.RoomId };

我試過這個來獲取 q2.RoomId,

 String room = result[4].ToString();

但仍然無法工作,請有人能幫助我嗎?

如果您知道查詢只會返回一行,您可以這樣寫:

var result = (from q1 in _db.DormApplications
              join q2 in _db.DormRooms
                on q1.DormRoomId equals q2.Id
              where 
                 q1.Poster ==  username && q1.Review == EnableType.YES  
                 && now > q1.Sdate && now <q1.Edate
              select 
                new { 
                       q1.Name, 
                       q1.Sdate, 
                       q1.Edate, 
                       q1.DormRoomId, 
                       q2.RoomId 
                    }).FirstOrDefault();
var roomId = result.RoomId;
var Name = result.Name;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM