Правильный способ использования таблиц «многие ко многим» с Entity и DataGridView с временными изменениями - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть таблицы (от MySql) в моих сущностях:

enter image description here

Интерфейс приложения:

enter image description here

и начало кода:

Dim db As New dbContext
Dim current_Book_id As Integer = 0

Private Sub Forma_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Read_Books()
    Read_BooksAuthors()
    AddHandler DataGridView_Books.SelectionChanged, AddressOf DataGridView_Books_SelectionChanged
End Sub

Private Sub Read_Books()
    DataGridView_Books.DataSource = New BindingSource With {.DataSource = db.Books.ToList}
End Sub

Private Sub Read_BooksAuthors()
    DataGridView_Book_Authors.DataSource = New BindingSource With {.DataSource = db.Authors.ToList}
End Sub

Private Sub DataGridView_Books_SelectionChanged()
    With DataGridView_Books
        If .CurrentCell.Selected Then
            current_Book_id = .Rows(.CurrentRow.Index).Cells("id").Value
        End If
    End With
    Read_BooksAuthors()
End Sub

Я хочу подать заявку, где:

  1. Только кнопка Сохранить, внесите любые изменения в база. Если пользователь добавляет, вносит изменения или удаляет из книг или авторов DataGridView, он будет потерян, если он не сохранит его. Пример: пользователь может добавить новую книгу, затем добавить к ней нескольких авторов и нажать «Сохранить», чтобы сохранить ее в базе данных. Если он закроет приложение, изменения будут потеряны. Вопрос: где хранить временные изменения и как их сохранить после использования кнопки «Сохранить»?
  2. Я хочу показать в DataGridView_Books все книги (id nad title) - как сейчас. Вопрос: правильный ли код в функции Read_Books?
  3. Я хочу отобразить имена авторов выбранной книги в DataGridView_Books. Вопрос: Как написать запрос, включающий NaviagtionProporties?

Примеры могут быть в VB. NET или C#. Спасибо.

РЕДАКТИРОВАТЬ 1

Я задам отдельные вопросы, а затем объединю их вместе. Как читать BooksAuthors и переносить их в DataGridView (связывание) для отображения названий книг и имен авторов с возможностью редактирования и сохранения их с помощью метода SaveChanges?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...