2017-03-28 5 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は、 'System.String GetChainDetails(System.String)'メソッドを認識せず、このメソッドをストア式に変換することはできません。 –

+0

EFを使用してデータを取得します。後でフォーマットを行います。データとUIの問題を混在させないでください。ずっと簡単。個人的には、javascriptコードより早くマークアップを追加します。 –

答えて

0

あなたのメソッドpublic 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; 
    } 
} 

したがって、あなたのメインのコード:

public static string GetChainDetails(string chainID) 

また、あなたは、このアプローチに従うことができます。

+0

はい、申し訳ありませんが、私はこれを考え出しました。しかし、私はあなたが答えを得るために、このアプローチを使用してそれをしました。ありがとうございました –

関連する問題