Wyświetlanie tablicy z bazy danych w DataGridzie

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-pl/library/ee340709(v=vs.110).aspx?cs-save-lang=1&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

0

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

0

Chcę wyświetlić dane z tabeli żywność do dataGrida. Robię tak jak w przykładzie z msdn (https://msdn.microsoft.com/pl-pl/library/ee340709(v=vs.110).aspx?cs-save-lang=1&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 :)

1

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();
    }

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