/ / Konwersja bezpośrednio w zapytaniu LINQ - linq, entity-framework

Konwersja bezpośrednio w zapytaniu LINQ - linq, entity-framework

Pracuję z Entity Framework i mam takie zapytanie LINQ:

var foo = from ee in context.Table select new {id = ee.id, price = ee.price}.ToList();

gdzie cena jest dziesiętna (smallmoney w SqlServer). Teraz wiążę go z datagridview przez mydgv.DataSource = foo; Ale najpierw chciałbym przekonwertować wszystkie dziesiętne na łańcuchy w celu usunięcia zer z wartości (np. Teraz jest 26.0000 i chcę, żeby było 26,00). Jak mogę to zrobić? Coś jak:

bla.ForEach( x => x.price.ToString().Substring(0,3))

nie działa.

Odpowiedzi:

2 dla odpowiedzi № 1
var q = foo.Select(x => new { id = x.id, price = x.price.ToString("N2") } );

Ale prawdopodobnie możesz ustawić ciąg formatu w kolumnie w datagridview na "N2" i powiązać bezpośrednio z oryginalnym źródłem danych. Coś jak:

dgv.Columns[0].DefaultCellStyle.Format = "N2";

0 dla odpowiedzi nr 2

Nie wiem, czy EF obsługuje to, ale spróbuj

new { ee.id, price = ee.price.ToString("f2") }