2016-12-16 8 views
1

1つ以上のGuidを保持するリストがあります。LINQを使用して別のリストからデータを使用してリストを作成する方法

var getMyfirstListGuids = (from dlist in db.MyTable 
    where dlist.id == theid 
    select dlist).ToList(); 

List<MyfirstList> myfirstList = new List<MyfirstList>(); 

foreach (var item in myLandingPageList) 
{ 
    Guid theguid = new Guid(item.guid); 
    MyfirstList addnewRow = new MyfirstList(); 
    addnewRow.LpGuid = new Guid(theguid); 
    myfirstList.Add(addnewRow); 
} 

ここでは、1つ以上のguidのリストがあります。 私の次のステップは、最初のリストGUIDによってSQLからのデータでリストを作成することです。 SQLでは、各GUIDに対して1行以上の値を指定できます。 1行の結果で私は何をすべきか推測することができます。しかし、多くの結果があるなら、アイデアはありません。

+2

ました。あなたは精緻化できますか? – Amy

+0

@Elidotnet guidのmyfirstListとDB内のmyfirstListを比較し、新しいリストを作成しようとしていますか? – User987

+0

多くのGUID(xxxx-xxxxxx-xxx ....)を含むリストが1つあります。私はそのリストを構築するforeach関数を作成しました。今私は与えられたGUIDによってDBから行を追加する新しいリストとforeach関数を作りたい。 – Elidotnet

答えて

0

大丈夫たくはこのようにそれを行うよう:

List<SecondListGUID> secondListGUID = new List<SecondListGUID>(); 
    foreach (var item in myfirstList) 
    { 
    for(int i = 0; i<_yourDBEntity.GUIDs.Count(); i++) 
    { 
    if(item.LpGuid == _yourDBEntity.GUIDs[i].GUID) 
    secondListGUID.add(new SecondListGUID() {// add the corresponding GUID's here }); 
    } 
    } 

基本的にはあなたの最初のリストをforeachの操作を行い、その後、ループのためにしなければならない(またはforeachの - あなたが好む方)あなたのDBのテーブルを( Entityフレームワークを使用している場合はこのエンティティ)、DBテーブルのGUIDを単純に比較し、一致する場合は3番目のリストに項目を追加します。

希望に役立ちます!

P.S.私はあなたが提供した情報で作業しました。必要なものに2番目のリストタイプを変更し、実体のフレームワークデータモデル名を実際に使用するものに変更することができます:)

0

私は何を試していましたかあなたが送ったと働いていない。私はそのような何かを試してみてください(私は偉大なコードをその知らないとはFirstOrSingleのbecuase動作していない)が、それは、私は質問が何であるかを理解していないID

List<MySecList> mySecList = new List<MySecList>(); 

foreach (var itemval in myfirstList) 
{ 
int isLeadExist = CheckForLeads(itemval.LpGuid, db); 
if (isLeadExist > 0) 
{ 
MySecList addlead = new MySecList(); 

string lpguidstr = itemval.LpGuid.ToString(); 
Guid lpguid = new Guid(lpguidstr); 

var findid = (from p in db.rakna_AssetsLeads 
where p.lpGuid == lpguid 
select p).ToList().FirstOrDefault(); 

addlead.ContactId = findid.contactId; 
mySecList.Add(addlead); 
} 
} 
+0

@ User987これはアイデアです(それは動作しません) – Elidotnet

関連する問題