áá±áá¬ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá áá áºáá»á¬ážááᯠááŸáá¯ááºážááŸááºááŒááºážááŸáá·áº ááœá±ážáá»ááºááŒááºážá
áá±áá¬áá±á¬áºáááºááẠááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá
ááºá¡ááœááºáž ááŒá±á¬ááºážáá²áá±á·ááŸáááŒá®áž áá
áºáá»áááºáá»áááºááœáẠáááºážááẠáá±áá¬áá±á·á
áºááŸáá·áº ááááºááá¯ááºáá±á¬á·áá«á áá¯ááºáá«áááºá áá±áá¬áá±á·á
áºááᯠáá»ááºáá
áºááá¯ááºááŒá®ážá ááá¯á·áá±á¬áẠORM ááẠáá±á¬áºáááºááŸáá·áº ááá¯ááºáá®ááá·áº áá¬ážááŸááºážá¡áá
áºááᯠáááºáá®ážáááá·áºáááºá ááá¯á·áá±á¬áº á€áá¯ááºáááºážá
ááºááẠááŸáááŒá®ážáá¬ážáá±áá¬áá»á¬áž áá¯á¶ážááŸá¯á¶ážááœá¬ážáááºááŒá
áºáááºá ááá¯á·ááŒá±á¬áá·áºá ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá
áá
áºááá¯ááºáá±á¬ááºáá»ááºááŸá¬ schema ááŒá±á¬ááºážáá²ááŸá¯áááááºá¡áá±ááŒáá·áº áááºážááẠááŸáááŒá®ážáá¬ážáá±áá¬áá»á¬ážááᯠááá¯á¶ážááŸá¯á¶ážá
á±áá² á¡ááá®áá±ážááŸááºážááŸááá±áá¬áá±á¬áºáááºááŸáá·áº áááºáá°ááŒá¯ááŒá±á¬ááºážáá±áá»á¬á
á±áááºááŒá
áºáááºá
á€áá±á¬ááºážáá«ážááœááºá áá»áœááºá¯ááºááá¯á·ááẠáá±áá¬áá±á·á
ẠááŒá±á¬ááºážááœáŸá±á·ááŸá¯áá»á¬ážááᯠá
á®áá¶ááá·áºááœá²ááẠá¡áá»áá¯ážáá»áá¯ážáá±á¬ áááááá¬áá»á¬ážááᯠááŒáá·áºááá¯áá«áááºá á€áá¯á¶ážáááºáá»ááºááẠá¡áá¬ážáá°ááœá±ážáá»ááºááŸá¯áá»áá¯ážááŒá¯á¶ááœá±á·áá±áááá·áº developer áá»á¬ážá¡ááœáẠá¡áá¯á¶ážáááºáááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá
áá¯ááºáááºáž
áá»áœááºá¯ááºááá¯á·ááá¯áá¹ááá®ááẠáááºááŸáááœáẠáá¯ááºáá¯ááºá¡áá áºááŒá áºáá±á¬ Docs Security Suite (DSS) ááᯠáááºááŒáœá áœá¬ áá±á¬áºáá±á¬ááºáá»ááºááŸááááºá áá¬áá¬á¡ááá¯ááºážááᯠ.Net Core ááŒáá·áº áá±ážáá¬ážáá¬ážááŒá®áž Entity Framework Core ááᯠDBMS á¡ááŒá Ạá¡áá¯á¶ážááŒá¯áá«áááºá á¡ááºááá®áá±ážááŸááºážáá áºáá¯ááᯠáá®ááá¯ááºážááœá²ááá·áºá¡áá«á áá»áœááºá¯ááºááá¯á·ááẠCode First áá»ááºážáááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áááºá
á¡ááá®áá±ážááŸááºážááá¯ááááºážáá±á¬áºáááºááᯠáá áºáá»áááºáááºážááœáẠáá±á¬á·ááºáá²áá±ážáá¬ážáá°á¡áá»á¬ážá¡ááŒá¬ážá áááºáá®ážáá¬ážááẠ- áá áºáá¯á á®ááẠá áá áºá ááá¯ááºááá¯ááºáá¯áá¹ááá¡ááá¯ááºážá¡ááœáẠáá¬áááºááŸááááºá
DSS á ááááºáá»áá¯ážáááºááẠááœáŸá±á·ááŒá±á¬ááºážáá±ááá¯ááºááŸá¯á á®áá¶ááá·áºááœá²ááŸá¯á áá áºá¡ááŒá Ạááá¹áááẠEntity Framework Migrations (EF 6) ááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá ááá¯á·áá±á¬áºáááºážá á¡áá»áá¯á·áá±á¬ ááá¯ááºááŒá¬ážááŸá¯áá»á¬ážááẠáááºážááá¯ááá·áºáá»ááºááŒá®áž EF ááẠáá¬ážááŸááºážáááááá¹ááá»á¬ážááᯠááŒá±ááŸááºážááẠááŸááºáááºáá±á¬áá»ááºážáááºááŸá¯ áááŸáááŒááºážááŒá±á¬áá·áºááŒá áºáááºá áá¶á·ááá¯ážááŸá¯ááá áºá áááºáá áºááá¯ááºážá¡ááŒá Ạáá»áá¯á·ááœááºážáá»ááºáá»á¬ážááᯠááŒá¯ááŒááºááá·áºá¡áá« á€á¡áá»ááºá áá»áœááºá¯ááºááá¯á·ááᯠá áááºááá¯ážáá²ááŒá áºáá±á¬ááŒá±á¬áá·áº á¡ááŒá¬ážááœá±ážáá»ááºá áá¬áá»á¬ážááᯠá ááºážá á¬ážááẠáá¯á¶ážááŒááºáá²á·áááºá
ááœá±ážááœá±ážááŸá¯ááááºá¡á ááœáŸá±á·ááŒá±á¬ááºážáá±ááá¯ááºááŸá¯á á®áá¶ááá·áºááœá²ááŸá¯á áá áºá¡ááœáẠá¡á±á¬ááºáá«ááá¯á¡ááºáá»ááºáá»á¬ážááᯠááœá²á·á ááºážáá²á·áá«áááºá
- á¡áá»áá¯ážáá»áá¯ážáá±á¬ DBMS áá»á¬ážá¡ááœááºáá¶á·ááá¯ážááŸá¯á MS SQL Serverá PostgreSQLá Oracle ááá¯á¡ááºáá±á¬áºáááºáž á¡ááŒá¬ážá¡áá¯á¶ážááŒá¯ááẠááŒá áºááá¯ááºáá»á±ááŸááááºá
- ORM ááŸáá·áºá¡áá¯ááºáá¯ááºáááºá á¡á ááá¯ááºážááœáẠEF Core ááᯠá¡áá¯á¶ážááŒá¯ááẠá á®á ááºáá¬ážáá±á¬áºáááºáž áá®ááá¯ááºážá¡ááá·áºááœáẠá¡ááŒá¬áž ORM áá»á¬ážááᯠááá·áºááœááºážá ááºážá á¬ážááẠá¡ááá·áºááŒá áºáá±áá«ááŒá®á
- ááœáŸá±á·ááŒá±á¬ááºážááŸá¯áá»á¬ážá á¡ááá¯á¡áá»á±á¬ááºáá»áá¯ážáááºá Code áááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯ááá¯ááá·áºááœááºážá ááºážá á¬ážááŒááºážááŒáá·áºááááŠážá áœá¬áá»áœááºá¯ááºááẠ"áááºáá±ážáá«" ááœáŸá±á·ááŒá±á¬ááºážááŒááºážáá»á¬ážááá¯ááŸá±á¬ááºááŸá¬ážááá¯áááº
- áá¬ážááŸááºážááœá²áá»á¬ážá ááŒáá·áºáá±áá¬ážáá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áááºáááºážáá»ááºááœááºá áá±á«ááºážá ááºážáá±á¬á¡áá«á EF Core ááẠáááááá¹ááá»á¬ážááᯠáá¶á á¬ážáááá¯ááºáááºá á¡ááá®áá±ážááŸááºážá ááá°áá®áá±á¬ á¡á áááºá¡ááá¯ááºážáá»á¬ážááᯠááá°áá®áá±á¬ developer áá»á¬ážá áááºáá®ážáá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááẠáááá¬áááºááŸá¬ážáá±á¬ ááŒá¿áá¬áá áºáᯠááŒá áºáá¬áá±á¬ááŒá±á¬áá·áº áá áºáá¯á á®á¡ááœáẠá¡áá»áááºáá»á¬ážá áœá¬ áá¯á¶ážá áœá²ááááºááŒá áºáá«áááºá
- á¡ááá·áºááŒáá·áºá á¬ááœááºá á¬áááºážáá»á¬ážááŸáá·áº áá¶á·ááá¯ážááŸá¯á á€ááœááºá áá»áœááºá¯ááºááá¯á·áááºáááºá ááŸááºážááŒáááºáááá¯á¡ááºáá«á
- á¡ááá²á·á á á¶áááºááŸááºáá»ááºááẠá¡ááŒá±á¡áá±á¡áááŒá áºáááºá á áá áºáá»á¬ážááẠá¡ááœááºá á»á±ážááŒá®ážááẠááá¯á·ááá¯áẠá á»á±ážááŒá®ážáááºááá¯ááºáá±á¬áºáááºáž á¡áááºááŒá±áááºá¡ááœáẠá á¶ááá°áá¬ááŒá áºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·áááºáž ááá·áºááœááºážá ááºážá á¬ážááẠá¡ááá·áºááŒá áºáá±ááŒá®ááŒá áºáááºá
á¡áááºážáááºáá±á¬ áá¯áá±ááááááºá¡áá á¡á±á¬ááºáá«ááœá±ážáá»ááºá áá¬áá»á¬ážááᯠááœá±á·ááŸááá²á·ááŒá®áž ááá·áºááœááºážá ááºážá á¬ážááẠááŸá áºááá¯ááœááºááœá±á·ááŸáááááº-
- EF Core ááŒá±á¬ááºážááœáŸá±á·ááŸá¯áá»á¬áž
- DBup
- á¡ááá¯ááºážá¡áááºE
- ThinkingHome.Migrator
- áá»áœááºážáá»ááºáá±á¬ ááœáŸá±á·ááŒá±á¬ááºážáá±ááá¯ááºáá°
á¡áᯠáááºážáááºážá¡áá±ážá áááºáá«á
ááá¬áá¡á¬ážááŒáá·áºá á€áááºááŸá¬ ááœá±ážáá»ááºááẠááááá¯á¶ážááŸáá·áº á¡ááá ááœá±ážáá»ááºááŸá¯ááŒá áºáááºá áááºáá¬áá²á· áááºááŒá®áž áá®ážááŸá¯ááºá áá¬áááá¯áá² áá±áá¹áá¬áá²áááœááºáá²á· áá¬áááá°áááá¬á á á¬ááœááºá á¬áááºážá¡áá»á¬ážá¡ááŒá¬ážá ááá¬ážáááºááá¯ááºá ááá¯ážááŸááºážááŸá¯á á áááºááá¯á·ááŒá áºáááºá ááá¯á·áá¬ááœááºá ááá¹áááẠEF ááŸáá·áºáááºáááºáá±á¬ ááá¯ááºááŒá¬ážáá»ááºáá»á¬ážááẠEF Core á¡ááœááºáááºáž á¡ááœááºáááºááá¯ááºáá«áááºá
ááá¯á·ááŒá±á¬áá·áº EF Core á¡ááœáẠá¡á¬ážáá¬áá»ááºáá»á¬ážááᯠáá®ážáá±á¬ááºážááá¯ážááŒáááº-
- áá¯ááŸáá¬áá¬á áá¬ážá¡áá«á¡áááºá Microsoft ááá¶á·ááá¯ážáá°áá®ááŸá¯á á á¬ááœááºá á¬áááºážáá»á¬áž
- CodeFirst ááᯠá¡ááŒá±áá¶á ááœáŸá±á·ááŒá±á¬ááºážááŸá¯áá»á¬ážá á¡ááá¯á¡áá»á±á¬áẠáá»áá¯ážáááº
- EF 6 ááŸáá·áº ááŸáá¯ááºážááŸááºáá«á EF Core ááẠáá±áá¬áá±á·á áºááá»áŸááºáá áºááŒááºáá¯á¶áá áºáá¯á¶ááᯠáááááºážáááºážáá±á¬á·áá«á Code ááœáẠááááŠážá áœá¬ EF Core ááŸáá·áº á¡áá¯ááºáá¯ááºáá±á¬á¡áá«á áá±áá¬áá±á·á áºááᯠá¡áá¯á¶ážááŒá¯ááẠáááá¯á¡ááºáá±á¬á·áá«á
- áá»áœááºá¯ááºááá¯á·ááẠCode First á០ááá¯ááºáá±áá±á¬ááŒá±á¬áá·áº ááá¯á¡ááºáá±á¬ áá±áá¬áááºáá±á¬ááºááœáá·áºáá±ážáá°á¡á¬ážáá¯á¶ážáᶠáá áºááŒááẠááœáŸá±á·ááŒá±á¬ááºážááŒááºáž ááŒá¯áá¯ááºááá¯ááºáááºá
- áááºáá±á¬ááºááŸá¯áá±ážáá°áá»á¬ážááŸáá·áºáááºáááºá PostgreSQL ááᯠáá¶á·ááá¯ážáá¬ážááŒá®ážá Oracle ááᯠáá¶á·ááá¯ážáá¬ážáááºá á áááºááá¯á·ááŸáá·áº MS SQL Server ááẠï
ááŒá®ážáá±á¬á· á¡á¬ážáááºážáá»ááºááœá±áááºáž
- áááááá¹áááŒá±ááŸááºážáá±áž á¡ááá·áºááŸá¬áá² áááºáááºáá²á·áááºá ááœáŸá±á·ááŒá±á¬ááºážááŒááºážáá»á¬ážááᯠá á®á á¥áºáᬠáá±áá¬áá±á·á áºáá»áŸááºáá áºááŒááºááá¯ááºáá»ááºáá»á¬ážááᯠá¡ááºááááºáá¯ááºááẠááá¯á¡ááºáá«áááºá
- ááœáŸá±á·ááŒá±á¬ááºážááŸá¯áá»á¬ážááᯠáá¯ááºáá±ážááá·áº áá±á¬áºáááºáá»á¬ážáá±á«áºááœáẠáá°áááºáááºá
DbUp
DbUp ááẠNuGet ááŸááá·áºááœááºážáá¬ážááá·áº .NET á á¬ááŒáá·áºááá¯ááºáá áºáá¯ááŒá áºááŒá®áž SQL Server ááá¯á· ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠááœááºážá¡á¬ážáá±ážáá°áá®áááºá áááºážááẠáááºááá·áºááŒá±á¬ááºážáá²ááŸá¯ script áá»á¬ážááá¯áá¯ááºáá±á¬ááºááŒá®ážááŒá®ááŒá áºáááºááá¯ááŒá±áá¬áá¶ááŒá®ážáá±áá¬áá±á·á áºááá¯ááœááºážáá¶áááºááá¯á¡ááºáá±á¬áá»á¬ážááá¯áá¯ááºáá±á¬ááºáááºá á á¬ááŒáá·áºááá¯ááºááẠASP.NET ááŸá open source ááá±á¬á·ááºáá±ážá¡ááºáá»ááºá¡ááœáẠááá±á¬áá»ááºáá áºáá¯á០ááŒá®ážááœá¬ážáá¬ááŒá®áž MIT ááá¯ááºá ááºá¡á±á¬ááºááœááºááŸáááŒá®áž áá¯ááºááẠGitHub ááœááºááŸááááºá ááœáŸá±á·ááŒá±á¬ááºážááŒááºážáá»á¬ážááᯠT-SQL ááŒáá·áº áá±á¬áºááŒáá¬ážáá«áááºá
á¡á¬ážáá¬áá»ááºááœá±á áá¬ááœá±áá²á
- DBMS á¡áá»á¬ážá¡ááŒá¬áž (MS SQL Serverá PstgreSQLá MySQL) á¡ááœáẠáá¶á·ááá¯ážááŸá¯
- script áá»á¬ážááᯠT-SQL ááŒáá·áºáá±ážáá¬ážáá¬ážáá±á¬ááŒá±á¬áá·áºá áááºážááá¯á·áááºá¡áá±á¬áºáá±ážááá¯ážááŸááºážáá«áááºá
- áááááá¹ááá»á¬ážááᯠSQL áá¯á¶ážááŒá®áž ááŒá±ááŸááºážáááºá
á¡á¬ážáááºážáá»ááºáá»á¬áž-
- áá¶á·ááá¯ážáá±ážáá¬ážááá·áº DBMS áá»áá¯ážá á¯á¶ááŒáá·áº Oracle ááẠáááºážááá¯á·áá²á០áá áºáá¯ááá¯ááºáá±á
- ORM ááŸáá·áº ááá¯á¶á·ááŒááºáá«á
- T-SQL script áá»á¬ážááᯠáááºááŒáá·áºáá±ážááŒááºážááẠáá»áœááºá¯ááºááá¯á· áááºááœááºáá¬ážááá·áºá¡áá¬ááá¯ááºáá«á
- SQL scripts áá»á¬ážáá±ážáá¬ážáá¬ááœáẠáááá¯á¡ááºáá±á¬áºáááºáž á á¬ááœááºá á¬áááºážáá»á¬ážááŸáá·áº á¡ááá¯ááºá¡áááºážááẠáá°áá®áá«áááºá
á¡ááá¯ááºážá¡áááºE
ááááºáá¬ážááŸááºážáá²á·ááá¯á· Apache 2.0 ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáá±á¬ á€ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá á®áá¶ááá·áºááœá²ááŸá¯áá°ážááºááẠT-SQL ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá¡ááºáá»ááºáá±á«áºááœáẠáá¯ááºáá±á¬ááºáááºá áááºááŸá¬ážáááºááŸá¬á developer áá»á¬ážááẠáááºáá±á¬áá·áºáááºáá¬ááŸááá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºááŸá¯áá¯ááºáááºážá ááºááᯠáááºáá®ážááŒááºážááẠDBMS áá¶á·ááá¯ážááŸá¯ááá¯ááºáᬠáááºážááá¬ááá¯ááºáᬠááŒá¿áá¬áá»á¬ážááᯠáŠážá á¬ážáá±ážááŒá±ááŸááºážáá±ážáá²á·áááºá
á¡ááŒá áºááœá±:
- ááá¯á¡ááºáá±á¬ DBMS (Oracle á¡áá«á¡áááº) ááá¯áá¶á·ááá¯ážáááº
cons:
- Oracle (áá»áœááºá¯ááºááá¯á·ááŸáá·áºááááºááá¯ááºáá±á¬ Access áá²á·ááá¯á·) .NET Core ááœááºáᬠ.NET Full Framework ááœááºáᬠáá¶á·ááá¯ážááá¬ážáá«á
- ORM ááŸáá·áº á¡áá¯ááºááá¯ááºáá«á
- ááááºáá°ážááºáááºá á¬áá»áŸáẠá á¬ááœááºá á¬áááºážáááºážáá«ážáááºá
- áááẠ- ááœáŸá±á·ááŒá±á¬ááºážááŒááºážááᯠscripts áá»á¬ážááŒáá·áºáá±ážáá¬ážáá«áááºá
ThinkingHome.Migrator
MIT ááá¯ááºá
ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáá±á¬ .NET Core ááááºáá±á¬ááºážááá¯á· áá¬ážááŸááºážááŒá±á¬ááºážáá¬ážáá±á¬ áá±áá¬áá±á·á
áºáá¯á¶á
ᶠááœáŸá±á·ááŒá±á¬ááºážááŒááºážá¡ááœáẠáááááá¬áá
áºáá¯á
á¡ááŒá áºááœá±:
- .NET Core á¡ááœáẠáá®ááá¯ááºážáá¯ááºáá¬ážáááºá
- ááœáŸá±á·ááŒá±á¬ááºážááŒááºážá á¡ááá¯ááºážá¡ááẠá¡á á®á¡á á¥áºááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
- ááœáŸá±á·ááŒá±á¬ááºážááŒááºážááŸááºáááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá²á·áááºá
cons:
- ááœááºáá²á·áá±á¬ áá áºááŸá áºá áá±á¬ááºáá¯á¶áž á¡ááºááááºáá¯ááºáá²á·áááºá ááá±á¬áá»ááºááᯠáá¶á·ááá¯ážááá¬ážááŒá±á¬ááºáž áááºááŸá¬ážáááºá
- Oracle á០ááá¶á·ááá¯ážáá« (áá±á¬ááºážáá«ážááœáẠáááºážááẠ.NET Core á¡ááœáẠáááºááŒáááºáá±á¬ á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ áááŸáááŒááºážááŒá±á¬áá·áºááŒá áºááẠ- ááá¯á·áá±á¬áº áááºážááẠááœááºáá²á·áá±á¬ áá áºááŸá áºááá·áºáááŒá áºáááº)
- á¡ááá¯á¡áá»á±á¬áẠááœáŸá±á·ááŒá±á¬ááºážááŒááºáž áá»áá¯ážááẠáááŸááá«á
áá±áá¯áá»á¡á¬ážááŒáá·áºá ááá±á¬áá»ááºááẠá¡áá°ážáááŒáá·áº ááœá¶á·ááŒáá¯ážááá¯ážáááºááẠá¡áá¬ážá¡áá¬ááŸááá±á¬áºáááºáž á€áá±áá¬ááŸáá·áº ááá¯ááœáẠáá»áœááºá¯ááºááá¯á· áá¯á¶ážááŒááºáá»ááºáá»ááẠááá¯á¡ááºáá«áááºá
áá»áœááºážáá»ááºáá±á¬ ááœáŸá±á·ááŒá±á¬ááºážáá±ááá¯ááºáá°
ááááááºáá»á¬ážá áœá¬ááŒáá·áº áá±áááºážá¡á á¬ážáá¯á¶áž ááœáŸá±á·ááŒá±á¬ááºážááŒááºážáááááá¬á Apache 2.0 ááá¯ááºá ááºá¡á±á¬ááºááœáẠááŒáá·áºáá±áá¬ážáááºá áá±á¬áºááŒáá»ááºááœááºáá±á¬áºááŒáá¬ážááá·áºá¡ááá¯ááºážá áááºážááẠRuby on Rails Migrations ááŸáá·áºáááºáá°áá±á¬ .NET á¡ááœáẠááœáŸá±á·ááŒá±á¬ááºážááŒááºážáá°áá±á¬ááºáá áºáá¯ááŒá áºáááºá áá±áá¬áá±á·á áºá áá®áá¬ááá¯á· ááŒá±á¬ááºážáá²ááŸá¯áá»á¬ážááᯠC# á¡áááºážáá»á¬ážááœáẠáá±á¬áºááŒáá¬ážáá«áááºá
á€áá±áá¬ááœáẠá¡á¬ážáá¬áá»ááºáá»á¬ážááŸááá«áááºá
- ááá¯á¡ááºáá±á¬ DBMS á¡ááœáẠáá¶á·ááá¯ážááŸá¯
- .NET Core áá¶á·ááá¯ážááŸá¯
- ááŒá®ážáá¬ážáá±á¬ ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±á¬ á¡ááá¯ááºá¡áááºáž
- ááœáŸá±á·ááŒá±á¬ááºážá¡ááŒá±áá»áá°áá»á¬ážááŒá¬áž áááááá¹ááá»á¬ážááᯠáááºááá¯ááºááŒá±ááŸááºážáááºâááœáŸá±á·ááŒá±á¬ááºážá¡ááŒá±áá»ááŸá¯áá¡áááá·áºááᯠáááºááŸááºáá¬ážáááºá ááá¯á·á¡ááŒááºá á¡ááœá²á·á¡á ááºážáá áºáá¯ááœáẠáááááá¹ááá áºáá¯ááŒá áºááœá¬ážáá«áá áá¯ááºááᯠáá±á«ááºážá ááºážáá±á¬á¡áá«á áááºážááᯠá¡ááŒá¬ážáá¯ááºáá¡ááŒá¬ážáááºážáááºážá¡ááá¯ááºáž ááŒá±ááŸááºážáááº
- á¡á±á¬ááºááŒááºá áœá¬ ááœáŸá±á·ááŒá±á¬ááºážááŒá®ážáá±á¬áẠáá¯ááºáá±á¬ááºááá·áº áááá¯ááá¯ááºáá»á¬áž ááŸááá«áááºá áááºážááá¯á·ááẠáááºáá±á¬ááºááŸá¯áá¯ááºáááºážáá±á¬ááºáá¬áá»á¬ážááᯠáááºáá±á¬ááºááá¯ááºáááºááá±á¬ááºáá¯á¶ážááœááºážáá¶ááŸá¯ááẠááœááºáá²á·áá±á¬áá áºááááŒá áºááŒá®ážá ááá¯ááá¯áááºááŸá¬ ááá±á¬áá»ááºááẠá¡áááºááŸááºáá±áá«áááºá
minuses áá»á¬ážá¡ááœááºá áááºážááá¯á·ááŸá¬-
- á¡ááá¯á¡áá»á±á¬áẠááœáŸá±á·ááŒá±á¬ááºážááŒááºáž áá»áá¯ážááẠáááŸááá«á
- EF áá±á¬áºáááºáá»á¬ážááŸáá·áº áá»áááºáááºááŸá¯áááŸááá«á
- áá±áá¬áá±á·á Ạáá»áŸááºáá áºááŒáẠááá¯ááºáá»ááºáá»á¬áž áááŸááá«á
áá«ááá¯á·áá²á·ááœá±ážáá»ááºááŸá¯ááá¬áá²á
á¡ááŒááºážá¡ááẠááŒááºážáá¯á¶ááŸá¯áá»á¬ážááẠááá·áºáááºáá»ááºáá»á¬áž ááŸá
áºáá¯ááᯠááŸáá·áºáááºáá±ááẠ- á¡ááá¯á¡áá»á±á¬áẠááœáŸá±á·ááŒá±á¬ááºážááŸá¯áá»á¬áž ááŸáá·áº áááááá¹ááá»á¬ážááᯠááŸááºáááºá
áœá¬ ááŒá±ááŸááºážááŒááºážá á¡ááŒá¬ážá¡áá»ááºáá»á¬áž ááẠá¡ááœááºááŒá±á¬ááºá
áá¬áá±á¬ááºážáááºá ááááºá¡áá±ááŒáá·áº ááœá±ážááœá±ážááŸá¯ááááºáá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á á¡ááœá²á·ááẠááá±á¬áá»ááºá¡áá
áºááœáẠFluent Migrator ááá¯á¡áá¯á¶ážááŒá¯ááẠáá¯á¶ážááŒááºáá²á·áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áááááá¹ááá»á¬ážááᯠááŒá±ááŸááºážááŒááºážááẠá¡áá¬áááºááœáẠáá»á¬ážá
áœá¬áá±á¬ á¡áá»áá¯ážáá»á±ážáá°ážáá»á¬ážááᯠáá±á¬ááºááŒááºážáá±ážáááá·áºáááºá
ááœá±á·ááŸááá»ááºáá»á¬áž
áá¯ááºáá«áááºá ááŒá®ážááŒáá·áºá
á¯á¶áá²á·áááááá¬ááœá± áááŸááá«áá°ážá ááá¯á·ááŒá±á¬áá·áº ááœá±ážáá»ááºááŸá¯áá
áºáá¯ááŒá¯áá¯ááºááẠáá»áœááºá¯ááºááá¯á·á âááá¹ááá»á¬ážâ ááᯠáŠážá
á¬ážáá±ážááááºááŒá
áºáááºá ááá¯á·áá±á¬áº á¡ááŒá¬ážá¡ááœá²á·áá»á¬ážááŸáá·áº á¡ááŒá¬ážá¡áá¯ááºáá»á¬ážá¡ááœáẠá¡ááŒá¬ážá¡áá»ááºáá»á¬ážááẠá¡áá¯á¶ážá¡ááŒááºáá±ážááá¯ááºáá«áááºá á€áá±á¬ááºážáá«ážááẠááá·áºá¡á¬áž ááœá±ážáá»ááºááŸá¯áá
áºáá¯ááŒá¯áá¯ááºááẠáá°áá®áá±ážáááá·áºáááºáᯠáá»áŸá±á¬áºááá·áºáá«áááºá
source: www.habr.com