Как не загружать свойства навигации в datagridview с помощью Entity Framework?C#

Место общения программистов C#
Ответить
Гость
 Как не загружать свойства навигации в datagridview с помощью Entity Framework?

Сообщение Гость »


Я использую VS 2022. Я пытаюсь создать проект Windows Forms в .NET 4.7.2 с Entity Framework.
У меня есть база данных на SQL Server книжного магазина. Я использовал режим «сначала база данных» в Entity Framework.
Я хочу отображать книги в виде сетки данных, но получаю дополнительные столбцы со свойствами навигации и исключениями.
< p>Я пытаюсь это использовать

Код: Выделить всё

using(BookshopEntities db = new BookshopEntities())
{
db.Books.Load();
this.dataGridView1.DataSource = db.Books.Local.ToBindingList();
}
But I get in my table all columns that I need and in addition all columns with navigation properties.
I tried this

Код: Выделить всё

Configuration.LazyLoadingEnabled = false;
but it doesn't work in a way I want. There are still extra columns, but empty and without exceptions. I don't want to upload to the datagridview properties columns. Only columns from database table.
I used this as a spigot

Код: Выделить всё

using(BookshopEntities db = new BookshopEntities())
{
db.Configuration.LazyLoadingEnabled = false;
db.Books.Load();
this.dataGridView1.DataSource = db.Books.Local.ToBindingList();
dataGridView1.Columns["Authors"].Visible = false;
dataGridView1.Columns["Genres"].Visible = false;
dataGridView1.Columns["Publishers"].Visible = false;
dataGridView1.Columns["BooksSeries"].Visible = false;
dataGridView1.Columns["Sales"].Visible = false;
dataGridView1.Columns["BooksDiscounts"].Visible = false;
}
But I think it is a shitcode.
Also, it would be nice if I could edit the table in datagridview and save all the changes in the database. But I can create separate form for editing a single book and that's all.
Of course I can use

Код: Выделить всё

DataTable
and

Код: Выделить всё

SqlCommand
classes to do this, but EF does not require writing SQL queries. Should I use

Код: Выделить всё

SqlCommand
or EF for this problem?


Источник: https://stackoverflow.com/questions/781 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»