2017-02-17 13 views
0

Как я могу получить данные только из одной таблицы в реляционных таблицах в структуре сущностей? Я создал две таблицы. Один из них - Classes, а другой - Students, а классы имеют отношения «один-ко-многим», но когда я пытаюсь получить данные, они возвращают данные из учеников и из таблиц классов.Как получить данные только из одной таблицы в реляционных таблицах?

(System.Data.Entity.DynamicProxies.Class_A4175BA8B7189ED27663CF9F9601DDF445EED57DA923B995D31056ABB560F13A).

Как удалить этот столбец?

Код:

TestDbEntities entities = new TestDbEntities(); 
dataGridView1.DataSource = entities.Students.ToList(); 
+0

Звучит как ленивая загрузка. Либо отключите ленивую загрузку для контекста, сделайте сборку 'Students' не виртуальной, либо не используйте запрос отслеживания -' entity.Students.AsNoTracking(). ToList(); ' –

+0

Спасибо, дорогие, данные не отображаются, но имя столбца все еще существует, как я могу скрыть/удалить его –

+0

Ну, тогда используйте другие варианты. Например, 'var entities = new TestDbEntities(); entity.Configuration.ProxyCreationEnabled = false; ... ' –

ответ

0

Не знаком с рамкой сущности, но объектом, который вы перечислили есть прокси-объект

System.Data.Entity.DynamicProxies.Class_A4175BA8B7189ED27663CF9F9601DDF445EED57DA923B995D31056ABB560F13A

Вот почему он имеет это странное имя. Если вы отследите свой запрос на базу данных, я думаю, что запрос не присоединяется к таблице классов. Вместо этого прокси создается для обеспечения ленивой загрузки. Поэтому, если вы никогда не касаетесь объекта класса, он никогда не захватывается из БД.

 Смежные вопросы

  • Нет связанных вопросов^_^