Chcę wybrać 2 elementy z mojej tabeli bazy danych za pomocą zapytania LINQ
i widziałem przykład, który używa UNION
Nie mam dużego doświadczenia, ale myślę, że może to jest to, czego potrzebuję, ale ja dostaję błąd, którego nie mogę naprawić i nie jestem pewien, czy i tak można go naprawić. Więc tutaj jest mój kwerendy:Kwerenda Linq UNION do wybrania dwóch elementów
IList<String> materialTypes = ((from tom in context.MaterialTypes
where tom.IsActive == true
select tom.Name)
.Union(from tom in context.MaterialTypes
where tom.IsActive == true
select (tom.ID))).ToList();
które, jak się wydaje narzekają próbuje użyć UNION
na IQueryable
z IEnumarebale
. Próbowałem to naprawić dodając ToString()
takiego - (tom.ID).ToString
która doprowadziła do czyszczenia podkreślenie błędzie w Visual-Studio-2010
ale w czasie wykonywania otrzymuję:
{"LINQ to Entities does not recognize the method 'System.String ToString()' method, and this method cannot be translated into a store expression."}
Ty, Leron.
Dlaczego nie wybierasz po prostu 'new {tom.Name, tom.ID}' zamiast używać 'Union'? –
Chcę użyć danych jako moje 'DataSource' jeśli spróbuję z tym daje błąd, który nie może konwertować z typu anonimowego na ciąg.Jeśli dodam' ToString() 'tuż przed' .ToList() 'Dostaję inną konwersję błąd - tym razem z 'char' do' String' i 'Union' jest rozwiązaniem, które widziałem w tego rodzaju sytuacjach. Czy istnieje inny sposób? – Leron