2014-12-01 2 views
0

Я пытаюсь создать репозиторий EntityFramework из существующей базы данных. Проблема в том, что одна из таблиц называется «Система». Это вызывает все виды странной ошибки компиляции из созданного EF кода, поскольку система, естественно, не является хорошим именем класса.EntityFramework и неправильное имя таблицы

У кого-нибудь есть способ обойти эту проблему? Изменение имени таблицы в моем случае не является вариантом.

+2

Просто измените имя объекта в файле модели, вам не нужно придерживаться значений по умолчанию. –

+0

Вы meen файл edmx? или сгенерированный класс? – Snorre

+0

Файл EDMX, это приведет к созданию новых, не разбитых классов. –

ответ

0

На мой взгляд, самый простой способ справиться с этой проблемой не будет проверять эту конкретную таблицу во время импорта из структуры базы данных (когда вы создаете файл edmx), используя Entity Framework, как обычно, в каждой другой таблице и для этой «системы ", используя команду SqlQuery Entity для выполнения простых SQL-запросов. Вы также можете попробовать отредактировать edmx (после генерации, исключая таблицу «System») и добавить эту таблицу вручную с другим именем, если это возможно, но быстрее будет первым сценарием.

0

попробуйте таким образом. Перейти к файлу ContexName.Context.cs

, где у вас есть плохое заявление, как этот

public virtual DbSet<System> System{ get; set; } 

правой кнопкой мыши на <System> -> Перейти к объявлению

затем изменить

public partial class System 

в

public partial class SystemTable 

наконец изменить

public virtual DbSet<System> System{ get; set; } 

в

public virtual DbSet<SystemTable> SystemTable{ get; set; } 

Обратите внимание, что изменения в Руководство этого файлы будут перезаписаны, если код регенерируется, поэтому вам каждый раз, когда необходимо повторить эту операцию.

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