2013-05-21 1 views
1

Я читал первый подход кода с сущностью. К сожалению, я не могу найти много документации, кроме того, что касается EF4. Но документы, которые я прочитал (блог scott gu на EF4), показывают, что мне не нужны сопоставления.EF6 - Code First - Нужны ли отображения свойств?

Поэтому я сгенерировал файлы кода из существующей базы данных с помощью EF6 Power Tools, это порождает все мои классы моделей и папку сопоставлений. Автоматически я смотрел на файлы сопоставлений, которые используют Fluent API (я думаю, это правильно) и описывают детали о таблицах.

Теперь, прочитав это, возможно, что он, возможно, не будет знать первичный ключ, обязательные свойства, отношения, но то, чего я не получаю, это свойство сопоставления столбцов из сообщения в блоге, это не было необходимо, так почему я нужно их?

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

Моя основная причина для запроса - вопрос ремонтопригодности. Я бы предпочел иметь только код для определенного свойства в одном месте, и эти строки this.Property(t => t.ID).HasColumnName("ID"); кажутся излишними для меня.

Любые один с любыми полезными ссылками на EF6 код первого подходе будет оценен, а Google не удается :)

ответ

1

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

отображения столбцов есть некоторые виды использования, но я не уверен, что ни один из них имеют отношение к вашей ситуации:

  • Вы можете отобразить объекты к существующей базе данных без необходимости имитировать имена столбцов, которые могут не соответствовать стандартным соглашениям об именах .NET.

  • Аналогичным образом вы можете следовать различным соглашениям об именах в своем коде и в вашей базе данных. Например, где я работаю, столбцы базы данных обычно ожидаются как camelCase, а не PascalCase.

  • Они позволяют вам изменять имена ваших объектов позднее, без необходимости воссоздавать/переносить вашу базу данных.

Если никто из них не применим к вам, то да, я думаю, вы, вероятно, без них.

+0

Я закончил настройку процесса конверсии, чтобы удалить их, и все, кажется, все равно нуждается в еще одном тестировании. – Dreamwalker

1

конвенция использования EF, чтобы сделать много. Как только вы знаете и чувствуете себя комфортно с условностями, вы можете объявлять классы, и все просто работает.

Code first conventions

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

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