Я обычно не отвечаю на свои вопросы, но вот что я понял:
Разница между ADO.NET C# DbContext Generator
и ADO.NET C# POCO Entity Generator
заключается в том, что первый создает контекст на основе DbContext
, а второй создает их на основе ObjectContext
.
В основном они используются в подходах Model First
и Database First
. Разница между Model First
и Database First
заключается в том, что в Database First
вы определяете свою модель данных в базе данных, а затем выполняете обратный инжиниринг модели (т. Е. Создаете файл .edmx) из базы данных. При использовании Model First
вы создаете модель в конструкторе (опять же, в файле .edmx) или вручную, а затем генерируете базу данных из этой модели.
В обоих случаях вы затем генерируете классы POCO и либо DbContext
, либо ObjectContext
из файла .edmx.
Entity Framework Power Tools CTP1
реверс-инжиниринг модели Code First
из базы данных, включая класс POCO, DbContext
(не думаю, что он предлагает генерацию ObjectContext
) и сопоставления (с помощью метода OnModelCreating
).
Итак, что сводится к тому, что в Database First
и Model First
"модель" определяется файлом xml .edmx (или, в некоторых случаях, несколькими файлами). В то время как в Code First
модель определяется с использованием отображений свободного кода в OnModelCreating
.
При использовании инструментов Power для реинжиниринга базы данных он не создает файл .edmx, а создает сопоставления в коде. Таким образом, пропуская xml среднего человека.