VB NET, Entity EF6 - выражение запроса, привязанное к DataGridView с помощью Select New Class, не показывающего данные - PullRequest
1 голос
/ 03 февраля 2020

В WinForms, EF6 у меня есть код ниже:

Public Class invoice_class
        Public ID As Integer
        Public Name As String
End Class 

Private Sub Button_Query_List_Click(sender As Object, e As EventArgs) Handles Button_Query_List.Click
        Dim db As New base_Entities

        Dim l1 = (From invoice In db._invoices
                 Select invoice.ID, invoice.Name).ToList

        Dim l2 = (From invoices In db._invoices
                 Select New invoice_class() With {
                        .ID = invoices.ID,
                        .Name = invoices.Name}).ToList

        DataGridView1.DataSource = l1   'this working - data shows on DataGridView
        DataGridView1.DataSource = l2   'this not working - data not shows on DataGridView

        For Each n In l2
                 MessageBox.Show(n.Name.ToString)   'but this showing a data
        Next
End Sub 

В коде я делаю комментарий с проблемой. Зачем использовать запрос l2 Я не вижу никаких данных в DataGridView1, но вижу в For ... Next l oop?

Спасибо.

- EDIT ( решение) -

Anu6is правильно предложил использовать свойство при объявлении класса. Исправленная часть кода:

Public Class invoice_class
        Property ID As Integer
        Property Name As String
End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...