рдореЗрдВ
.NET рдХреЗ рддрд╣рдд, Microsoft рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдФрд░ рд╕рдорд░реНрдерд┐рдд рджреЛ рдореВрд▓ ORM рд╣реИрдВ, Entity Framework рдФрд░ Linq2Sqlред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдЧрддрд┐ рд╕реЗ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ Linq2Sql рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдкрддрд╛ рд╣реИред
рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдбрд┐рдЬрд╛рдЗрдирд░, рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдореИрдкрд┐рдВрдЧ рд╡рд┐рдХрд▓реНрдк, рдСрдЯреЛ-рдореЙрдбрд▓ рдореЙрдбрд▓ рдХреА рдкреАрдврд╝реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕рдм рдХреЗ рд▓рд┐рдП рдПрдХ рдореЛрдЯреА рдорд╛рдЗрдирд╕ рд╣реИ - рд╡рд┐рд╢рд╛рд▓ рдФрд░ рдлреВрд▓рд╛ рд╣реБрдЖ рдЙрддреНрдкрдиреНрди рд╡рд░реНрдЧ, рдЬрд┐рд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рднреА рдирд╣реАрдВ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдбрд┐рдЬрд╛рдЗрдирд░ рдореЗрдВ рдореЙрдбрд▓ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕рдм рдХреБрдЫ рдирдпрд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред ред рдЗрд╕рдХреА рддреБрд▓рдирд╛ рд╢реБрджреНрдз рд╡рд░реНрдЧреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗ рдЧрдП рдЧреБрдгреЛрдВ рдХреА рддрд░рд╣ рдХрд░реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ Linq2Sql рдореЗрдВ, рдФрд░ рдЖрдк рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпреЛрдВ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд▓реЛрдЧ Linq2Sql рдХреА рдЪрдордХ рдФрд░ EF рдХреА рд╢реБрджреНрдзрддрд╛ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдмреЗрд╢рдХ, рд╣рд░ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдФрд░ рдпрд╣ рдХреЛрдИ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реИред рдЖрдВрд╢рд┐рдХ рдХрдХреНрд╖рд╛рдПрдВ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдирд┐рдпрдореЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВрдЧреА, рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдирд╛рдП рдЧрдП рд╡рд░реНрдЧреЛрдВ рдХреЛ рд╕рддреНрдпрд╛рдкрди рдирд┐рдпрдореЛрдВ рдХреЗ рд╕рд╛рде, [рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдЯрд╛рдЗрдк] рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдореЙрдбрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рддреНрдпрд╛рдкрди рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рд╕рд╛рде рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдЦреВрдмрд╕реВрд░рддреА рд╕реЗ рдирд╣реАрдВ рдирд┐рдХрд▓рддрд╛ рд╣реИ - рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдлреИрд▓реА рд╣реБрдИ рдХрдХреНрд╖рд╛рдПрдВ, рдЙрдирдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐, рдФрд░ рд╕рдорд░реНрдерди рдореЗрдВ рд╕рднреА рд╕рдорд╛рди рдЬрдЯрд┐рд▓рддрд╛ред
рдореЙрдбрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХреА рдХрд╛рдордХрд╛рдЬреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛: рдЙрдиреНрд╣реЗрдВ рдпрд╛ рддреЛ EntityObject рд╕реЗ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ EntityWithKey, IEntityWithChangeTracker рдФрд░ IEntityWithRelationships
рддреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдУрдЖрд░рдПрдо рдХреЗ рдЕрдВрджрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕рд░рд▓ рдХрдХреНрд╖рд╛рдПрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
ROSO рдФрд░ рдХреЛрдб-рдкреНрд░рдердо
рдкрд╣рд▓реА рдмрд╛рд░, ROSO (рдкреНрд▓реЗрди рдУрд▓реНрдб CLR рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕) рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, рдпрд╛рдиреА рд╕рд░рд▓ рд╡рд░реНрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде, рдИрдПрдл 4 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред
рдЯрд┐рдкреНрдкрдгреА
рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ SP1 рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕рдорд░реНрдерди рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдореБрдЭреЗ рдЕрднреА рднреА рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ
рд▓рд┐рдП SQL рд╕рд░реНрд╡рд░ рдХреЙрдореНрдкреИрдХреНрдЯ 4 рдФрд░
EF рдХреЛрдб рдкрд╣рд▓реЗ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП
Visual Studio рдЙрдкрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдерд╛
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣рд╛рдБ рдПрдХ рд╡рд░реНрдЧ рд╣реИ
public class Author { public int AuthorID { get; set; } public string Email { get; set; } public string Name { get; set; } }
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдЗрдХрд╛рдИ "рд▓реЗрдЦрдХ" рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реЗ рдХрд┐рд╕реА рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рди рд╣реА рдЗрдВрдЯрд░рдлреЗрд╕, рди рд╣реА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рдпрд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ред
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:
public class Library : DbContext { public DbSet<Author> Authors { get; set; } }
рдФрд░ рд╡рд╣ рд╕рдм рд╣реИ! рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж, рдЖрдк рдИрдПрдл рдХреЗ рд╕рднреА рд▓рд╛рднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреЛрдб-рдкреНрд░рдердо рдореЙрдбрд▓-рдкреНрд░рдердо рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕-рдкреНрд░рдердо рдХреЗ рд╕рд╛рде рдПрдХ рдирдИ рд╕реБрд╡рд┐рдзрд╛ рд╣реИред рдЕрдм рдЖрдк рдкрд╣рд▓реЗ рдореЙрдбрд▓ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реБрдП рдХреЛрдб рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдЧрд╛ред
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдорд╛рдиреНрдпрддрд╛ рджреА рдЬрд╛рдПрдЧреА - рдмрд╕ 1: 1 рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕рдВрджрд░реНрдн рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ, 1: n рд╕рдВрдмрдВрдз рдХреЗ рд▓рд┐рдП ICollection, рдФрд░ m: n рдХреЗ рд▓рд┐рдП рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ ICollectionред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реНрдЯреЗрдЬрд┐рдВрдЧ рдЯреЗрдмрд▓ рднреА рдЕрдкрдиреЗ рдЖрдк рдмрди рдЬрд╛рдПрдЧреАред рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдВрдкрддреНрддрд┐ рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рдХреАрд╡рд░реНрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
System.ComponentModel.DataAnnotations
рдирд╛рдорд╕реНрдерд╛рди рд╕реЗ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рднреА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рдореБрдЦреНрдп рд╣реИрдВ:
тАв [рдХреА] - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрдкрддреНрддрд┐ рдХреБрдВрдЬреА рд╣реЛрдЧреАред
тАв [NotMapped] - рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЙрд▓рдо рдкрд░ рд╕рдВрдкрддреНрддрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рди рдХрд░реЗрдВред
тАв рдПрдХ рдХреЙрд▓рдо ("рдХреЙрд▓рдордирд╛рдо", рдЯрд╛рдЗрдкрдиреЗрдо = "рдЯрд╛рдЗрдкрдирд╛рдо"] - рдЙрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдХреЙрд▓рдо рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдлрд╝реАрд▓реНрдб рдФрд░ рдЙрд╕рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЛ рдореИрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рддрдм рдЙрдкрдпреЛрдЧреА рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдХреНрд▓рд╛рд╕ рдореЗрдВ рдЯрд╛рдЗрдк рдмрд╛рдЗрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╣реЛрддреА рд╣реИ [] рдХрд┐ рд╕реНрдЯреЛрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рддрд╕реНрд╡реАрд░, рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЗрд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд╛рд░ рдХреА рдЫрд╡рд┐ред
UPD рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдк рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рдмрд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХрд╛рд░ nvarchar (MAX) рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд╕рд╛рде рдЖрдк рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ nvarchar (30) рдлрд╝реАрд▓реНрдб рдХреА рд▓рдВрдмрд╛рдИ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
тАв [MinLength], [MaxLength], [рдЖрд╡рд╢реНрдпрдХ] рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдХреЛрдб-рдкреНрд░рдердо рдХреЛ SQL рд╕рд░реНрд╡рд░ CE 4.0 рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди MVC3 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдХреБрдЫ рд▓реЛрдЧ рдорд╛рдирдХ SQL рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдХреЗ рдмрдЬрд╛рдп рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рд╕реНрд╡рд┐рдЪ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрдирд░реЗрдЯрд░ SQL рдПрдХреНрд╕рдкреНрд░реЗрд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ, рддреЛ SQL рд╕рд░реНрд╡рд░ CEред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ app.config рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
<connectionStrings> <add name="Library" connectionString="Data Source=Library.sdf" providerName="System.Data.SqlServerCe.4.0"/> </connectionStrings>
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдирд╛рдо рдПрдХреНрд╕реЗрд╕ рдкреЙрдЗрдВрдЯ рдХреНрд▓рд╛рд╕ (DbContext) рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЖрдк рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ (рдкреНрд░рд╛рдердорд┐рдХ рдкреАрдврд╝реА рдпрд╛ рдЕрджреНрдпрддрди) рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░рдгрдиреАрддрд┐ рдХреЛ рднреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рд░рдгрдиреАрддрд┐ рдПрдХ рдРрд╕рд╛ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ IDatabaseInitializer рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдЖрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреА рдЕрд╡рдзрд┐ рдХреЗ рджреМрд░рд╛рди рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реБрдП рдЕрдкрдиреА рд░рдгрдиреАрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░рдгрдиреАрддрд┐рдпрд╛рдВ CreateDatabaseIfNotExists (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдПрдВ), DropCreateDatabaseAlways (рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╣рдореЗрд╢рд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдФрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛), DropCreateDatabase.fModelChanges (рдореЙрдбрд▓ рдореЗрдВ рдмрджрд▓рд╛рд╡ рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛)
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд░рдгрдиреАрддрд┐ рдмрджрд▓ рд░рд╣реА рд╣реИ
Database.SetInitializer (рдирдпрд╛ DropCreateDatabaseAlways ());
рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рддреЗ рд╕рдордп, рдлреНрд░реЗрдорд╡рд░реНрдХ рдПрдХ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдЯреЗрдмрд▓ EdmMetadata рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рдореЙрдбрд▓ рдХреЗ рд╣реИрд╢ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд╕рдХреНрд░рд┐рдп рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рд╛рде рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ - DbContext рдХреНрд▓рд╛рд╕ рдХреЗ рдСрдирдореЙрдбреЗрд▓рдХреНрд░рд┐рдЯрд┐рдВрдЧ рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд▓реЛрдб рдХрд░рдирд╛ред
protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<IncludeMetadataConvention>(); }
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХрдиреНрд╡реЗрдВрд╢рди рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреАрдЬ рд╣реИред рд╡реЗ рдЖрдкрдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЧреБрдгреЛрдВ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ, рдирд╛рдо рд╕реНрдерд╛рди рдХреЛ рд╕рдХреНрд╖рдо / рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЖрдк
рдпрд╣рд╛рдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
редрдХреЛрдб-рдкреНрд░рдердо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХреЗ рд╕реЗ рдореЙрдбрд▓ рдХреЛрдб рдХреЗ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЫреЛрдЯреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рд╕рд╛рде рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП (рд╣рд╛рдБ, рд╡рд┐рдВрдбреЛрдЬ рдлреЛрди рдореИрдВрдЧреЛ рдореЗрдВ рдПрд╕рдХреНрдпреВрдПрд▓ рд╕рд░реНрд╡рд░ рд╕реАрдИ 4.0 рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛) рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдпрдерд╛рд╕рдВрднрд╡ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред