Wpis z mikrobloga

Mam taki oto string "select * from NAZWA_PROCEDURY(Param1, Param2, Param 3)"

Oraz listę obiektów IEnumerable z których każdy wygląda tak:

Parameter
{
Name = Param1; // To co widać w inpucie procedury SQL
Value = "wartość parametru 1" // string który przyjmuje ów procedura
}

Pytanie:
W jaki mądry sposób mogę zamienić inputy procedury z ich Name na Value? Chciałbym uzyskać coś takiego:

**"select * from NAZWA_PROCEDURY("wartość parametru 1", "wartość parametru 2", "wartość parametru 3")"**

Chciałbym to zrobić LINQ tylko nie wiem jak się do niego zabrać. Ze zwykłym Replace nie mam problemu

#programowanie, #linq, #csharp
  • 4
@Nartenlener: żeby to miało ręce i nogi to sporo roboty jest, musiałbyś pobudować swoje parsery kolekcji parametrów i wykorzystywać je w querybuilderze. Przy użyciu LINQ prosto uzyskasz value dla namea poprzez kolekcja.where(x=>x.name=="Param1").FirstOrDefault().Value jak widzisz trzeba popsrawdzać czy kolekcja na pewno ma taki parametr i to wszystko obsłużyć. Pytanie tylko po co chcesz to robić w ten sposób, może są lepsze sposoby?
@Pytoo: Bo cały czas mam wrażenie, ze nie znam LINQa skoro nie potrafię sobie powiedzieć czy coś się "da" lub "nie da". Sam problem już rozwiązałem foreachem więc robota idzie dalej, ale ze zwykłej ludzkiej programistycznej ciekawości zastanawiam się czy da się to zrobić w jednej linijce ( ͡º ͜ʖ͡º)