2016-11-25 47 views
0

我有一個視圖,我從名爲'PromotionHistory'的表中獲取數據。但在我的表中,我存儲了指定的ID。在名稱表中我有DesignationName字段和DesignationID。兩個表都有關係。我正在使用Web Api。從另一個tabe中獲取表中兩個相同字段的值

Data from PromotionHistory table 我的代碼 -

 [HttpGet] 
     [Route("api/EmployeeApi/GetPromotionReport/")] 
     public object GetPromotionReport() 
     { 
      List<PromotionHistory> finalData; 
      //var proReport = db.PromotionHistories.Include(e => e.Designation).Include(e => e.Employee); 

      IEnumerable<PromotionHistory> pro = (from st in db.PromotionHistories select st).ToList(); 

      foreach (PromotionHistory proH in pro) 
      { 

       var preD = proH.PreviousDesigID; 
       var currentD = proH.CurrentDesigID; 

       var preDName=(from dd in db.Designations where dd.DesignationID==preD select new{dd.DesignationName}).FirstOrDefault() ; 
       var CurrentDName=(from dd in db.Designations where dd.DesignationID==currentD select new{dd.DesignationName}).FirstOrDefault(); 
    var cc = (from proHis in db.PromotionHistories 

         select new 
         { 
          proHis.PromotionID, 
          proHis.EmployeeID 

         } 

          ).ToList(); 

       finalData.AddRange(cc); 
       finalData.Add(preDName); 


      } 

我想DesignationName而不是ID兩個字段(previousPost,當前後見圖片) 如何讓LINQ的或SQL查詢的ASP Web Api,因爲我使用Ajax。

我想要什麼:: PromotionID,EmplyeeID,PromotionDate,以前型號,電流指定

+0

做什麼是你的代碼取得?更新該帖子。在問一個問題之前。閱讀[this](http://stackoverflow.com/help/how-to-ask) – Aravind

回答

0

您可以添加另一個類,並返回新類的列表。這樣

public object GetPromotionReport() 
    { 
     List<PromotionHistorywithNames> finalData; 
     finalData = (from st in db.PromotionHistories 
        select new PromotionHistorywithNames 
        { 
         PromotionID = st.PromotionID, 
         EmployeeID = st.EmployeeID, 
         PreviousPost = (from dd in db.Designations where dd.DesignationID == st.Promotion select dd.DesignationName).FirstOrDefault(), 
         CurrentPost = (from dd in db.Designations where dd.DesignationID == st.currentD select dd.DesignationName).FirstOrDefault() 
        }).ToList(); 
     return finalData; 
    } 

像這樣

public class PromotionHistorywithNames{ 
     public int PromotionID{set;get;} 
     public int EmployeeID{set;get;} 
     public DateTime Promotion{set;get;} 
     public string PreviousPost{set;get;} 
     public string CurrentPost{set;get;} 
    } 
+1

你的傢伙真棒真棒真棒真棒!如果我有權投票,我會投票給你一千次。你的答案不僅給我的解決方案,但它給了我新的邏輯。我爲你感到很自豪。我可以收到你的郵件嗎? nuruddinfawel是我的Gmail地址。 – Fawel

0

我通過這解決了我的annonymous類型問題類:可以毫不模型類

[HttpGet] 
    [Route("api/MemberApi/GetMembersWithLink/")] 
    public object GetMembersWithLink() 
    { 


     var member = (from members in db.Members 
         where members.Status == 1 
         select new 
         { 
          members.MemberName, 
          members.Position, 
          members.Phone, 
          members.Picture, 
          members.MotherName, 
          members.Village, 
          members.Email, 
          linkName = (from gg in db.Members where gg.MemberID== members.Link select gg.MemberName).FirstOrDefault() 
         }).ToList(); 


     return member.AsEnumerable(); 
    } 
相關問題