2016-11-25 57 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(); 
    } 
相关问题