2017-03-28 14 views
0

在下面的代码中,我想从GetChainDetails返回到GetChains方法中的“我想要我的列表”。不知道如何完成或采取其他方式来做到这一点。如何获取我的列表作为工具提示

public static IEnumerable GetChains(int actGroupid, int dispid) 
    { 
     EEDBEntities db = new EEDBEntities(); 
     var query = from c in db.Chains            
        where c.Activity_Basis.activity_group_id == actGroupid && c.Activity_Basis.discipline_id == dispid 
        select new 
        { 
         ChainID = c.ChainID, 
         ChainDesc = @"<span data-toggle=""tooltip"" title =""" + I WANT MY LIST HERE + @""">" + c.ChainID + "</span>" 
        };    
     return query.ToList(); 
    } 

    public string GetChainDetails(string chainID) 
    { 
     string sStep = null; 
     var chainDetailList = from c in db.Chains_Detail 
           where c.chainID == chainID 
           orderby c.Order 
           select new 
           { 
            Order = c.Order, 
            Step = c.Step 
           }; 
     foreach (var oItem in chainDetailList.ToList()) 
     { 
      sStep = sStep + "\n" + oItem.Order + ": " + oItem.Step; 
     } 
     return sStep; 
    } 
+0

给出错误LINQ to Entities无法识别方法'System.String GetChainDetails(System.String)'方法,并且此方法无法转换为存储表达式。 –

+0

使用EF获取数据。之后进行格式化。不要混合数据和UI关注。更容易。就个人而言,我会在JavaScript代码之前添加标记。 –

回答

0

你的方法public string GetChainDetails(string chainID)不是静态的。也许这就是你得到错误的原因。将其设为静态并尝试运行代码。你

public static string GetChainDetails(string chainID) 

也可以按照此方法:

,并呼吁GetChains,我修改每个成员属性后,主代码

class Program 
    { 
    static void Main() 
    { 
     var myResult = GetChains(1, 1); 
     foreach (var result in myResult) 
     { 
      result.ChainDesc = GetChainDetails(result.ChainID); 
     } 
     //you can use either foreach or linq 
     //var m = myResult.Select(result => result = new Y { ChainID = result.ChainID, ChainDesc = GetChainDetails(result.ChainDesc) }); 
    } 

    public static IEnumerable<Y> GetChains(int actGroupid, int dispid) 
    { 
     var Chains = new List<X>(); 
     var query = from c in Chains            
        where c.Property1 == actGroupid && c.Property2 == dispid 
        select new Y 
        { 
         ChainID = c.ChainID, 
         ChainDesc = @"<span data-toggle=""tooltip"" title =""" + c.MyListToolTipText + @""">" + c.ChainID + "</span>" 
        };    
     return query.ToList<Y>(); 
    } 

    public static string GetChainDetails(string chainID) 
    { 
     string sStep = null; 
     var chainDetailList = from c in db.Chains_Detail 
           where c.chainID == chainID 
           orderby c.Order 
           select new 
           { 
            Order = c.Order, 
            Step = c.Step 
           }; 
     foreach (var oItem in chainDetailList.ToList()) 
     { 
      sStep = sStep + "\n" + oItem.Order + ": " + oItem.Step; 
     } 
     return sStep; 
    } 
} 

因此。

+0

是的,对不起,我明白了这一点。但我使用这种方法做到了,所以你可以得到答案。谢谢 –

相关问题