EF DbContext от база данни срещу EF power tools извършва обратно инженерство от база данни. Каква е разликата?

Използвам съществуваща база данни и нормалният ми метод е да добавя нов модел на данни за обект и да го насоча към съществуващата база данни. Ако трябваше да използвам електрическите инструменти на EF и да направя обратно инженерство, за да го направя в стил „първо кодиране“, какво е предимството на това?

И двата са класове, които наследяват от DbContext, нали? И така, може ли някой да ми обясни какво предимство може да бъде работата с кодовата база с течение на времето, ако вместо това трябваше да използвам инструмента за обратно инженерство на EF power tools?


person punkouter    schedule 22.08.2013    source източник


Отговори (1)


Code First към съществуваща база данни генерира вашия модел (по време на изпълнение) от вашите C# класове . Database First съхранява модела вътре в .edmx файл и генерира вашите класове (в време за проектиране).

Видеоклипът Работни потоци за разработка на Entity Framework дава добър преглед. В крайна сметка всичко се свежда до това дали искате да поддържате своя модел с помощта на дизайнерска повърхност или с помощта на C# класове.

Също така си струва да споменем, че ако искате да използвате Code First Migrations, вие трябва да използвате Code First, тъй като в момента не работи с Database First.

person bricelam    schedule 22.08.2013
comment
И така, що се отнася до кода, използващ който и да е, същият ли е? В моя случай имам човек от DB, който прави промени от време на време в DB, ​​така че създавам нов файл на Entity Data Model, когато той го направи, и посочвам актуализираната db... Така че в този случай Code first към съществуваща DB няма да направи смисъл, тъй като след преобразуването промените идват от DB, а не от код. да - person punkouter; 22.08.2013
comment
@punkouter Правилно, кодът, използващ DbContext и обекти, е абсолютно същият и в двата случая. Бихте могли да направите обратно инженерство, след като базата данни бъде променена, но мисля, че сте прав, Database First звучи така, сякаш отговаря на вашите нужди, така че няма убедителна причина да превключвате. - person bricelam; 23.08.2013