2017-07-17 3 views
0

ich eine Linq SkriptWie Linq Ergebnis Eingabe SQL verwenden, wo in

var ID = (from item in ConflictDatas.AsEnumerable() 
    group item by new 
    { 
    ID = item.Field<string>("ID"), 
    DesignArticle = item.Field<string>("DesignArticle"), 
    DesignNo = item.Field<string>("DesignNo"), 
    PatternCode = item.Field<string>("PatternCode") 
    } into g 
    where g.Count() >= 2 
    select new 
     { 
     g.Key.ID 
     }).ToList(); 

haben möchte ich dieses Ergebnis in eine SQL-commnad setzen.

Ich versuche:

string sqlwhere; 
sqlwhere = string.Join(",", ID); 
tsql = @" 
Insert ConflictDesignArticle 
Select * from ReadyworkData where ID in (" + sqlwhere + @") "; 

Nach der Kompilierung:

Insert ConflictDesignArticle 
Select * from ReadyworkData where ID in ({ ID = SPSOS17040113 },{ ID = 
SPSOS17040115 },{ ID = SPSOS17040114 }) 

Wie meinen Code zu ändern. Vielen Dank.

+0

add '.Select (x => x.ID) helfen' 'vor .ToList()' –

+0

Ihnen danken, sie arbeiten können –

Antwort

1

Danke für Lei Yang

var ID = (from item in ConflictDatas.AsEnumerable() 
group item by new 
{ 
ID = item.Field<string>("ID"), 
DesignArticle = item.Field<string>("DesignArticle"), 
DesignNo = item.Field<string>("DesignNo"), 
PatternCode = item.Field<string>("PatternCode") 
} into g 
where g.Count() >= 2 
select new 
    { 
    g.Key.ID 
    }).Select(x => x.ID).ToList(); 
Verwandte Themen