Wyświetlanie tablicy z bazy danych w DataGridzie

Odpowiedz Nowy wątek
2015-05-07 11:23
0

Witam,
Tworzę swój pierwszy projekt i chcę zrobić aplikację okienkową. Zdecydowałem, że użyję WPF. Na sam początek chcę wczytać tablicę z bazy danych do DataGrida w aplikacji. Korzysałem z tego poradnika:
https://msdn.microsoft.com/pl[...]cs-lang=csharp#code-snippet-3
Obiekt ADO.NET już mam, połączenie mi działa.
Tak wygląda moja tablica wczytana z bazy danych:
user image

Robię wszystko zgodnie z poradnikiem, a problem mam w momencie:


    public partial class MainWindow : Window
    {
        adudekEntities dataEntities = new adudekEntities();
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ObjectQuery<zywnosc> products = dataEntities.zywnosc;
        }
    }

Pojawia mi się błąd:

Cannot implicitly convert type 'System.Data.Entity.DbSet<zywnosc.zywnosc>' to 'System.Data.Entity.Core.Objects.ObjectQuery<zywnosc.zywnosc>'

Kompletnie nie wiem co z tym fantem zrobić.
Pozdrawiam

edytowany 1x, ostatnio: Dividee, 2015-05-07 11:24

Pozostało 580 znaków

2015-05-07 12:32
0

Przestać przypisywać obiekt typu X do zmiennej typu Y. Po co Ci to?


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2015-05-07 13:38
0

Chcę wyświetlić dane z tabeli żywność do dataGrida. Robię tak jak w przykładzie z msdn (https://msdn.microsoft.com/pl[...]cs-lang=csharp#code-snippet-3)
Oto moja funkcja:

 private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ObjectQuery<zywnosc> products = dataEntities.zywnosc;
            var query =
                from product in products
                select new { product.Nazwa, product.Kalorie, product.Bialko, product.Weglowodany, product.Tluszcze };
            Products.ItemsSource = query.ToList();
        } 

Jednak nie wiem, czym zastąpić ich linię
ObjectQuery<Product> products = dataEntities.Products;
z funkcji

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            ObjectQuery<Product> products = dataEntities.Products;

            var query =
            from product in products
            where product.Color == "Red"
            orderby product.ListPrice
            select new { product.Name, product.Color, CategoryName = product.ProductCategory.Name, product.ListPrice };

            dataGrid1.ItemsSource = query.ToList();
    }

tak aby u mnie to działało, pozdrawiam.

@E:
okej, znalazłem rozwiązanie, cała linia z ObjectQuery była niepotrzebna, wystarczył zamienić
from product in products
na
from product in dataEntities.zywnosc
I działa :)

edytowany 1x, ostatnio: Dividee, 2015-05-07 14:03

Pozostało 580 znaków

2015-05-07 14:05

A nie możesz napisać po prostu:

        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            var query =
            from product in dataEntities.Products
            where product.Color == "Red"
            orderby product.ListPrice
            select new { product.Name, product.Color, CategoryName = product.ProductCategory.Name, product.ListPrice };

            dataGrid1.ItemsSource = query.ToList();
    }

"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0