рдореИрдВ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдореИрдВ рд╕рд╛рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рдХреИрдЯрд▓реЙрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдСрдЯреЛ рдкрд╛рд░реНрдЯреНрд╕ рдХрд╛ рдПрдХ рдХреИрдЯрд▓реЙрдЧ рд╣реЛрдЧрд╛ред
рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред
- рдПрдордПрд╕ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ 2010
- ASP.NET MVC 3 - рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рд▓реАрдЬрд╝
- NuGet - рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░
- MvcScaffolding - рдЯреЗрдореНрдкрд▓реЗрдЯ-рдЖрдзрд╛рд░рд┐рдд MVC рдХреЛрдб рдЬрдирд░реЗрдЯрд░
- EFCodeFirst - рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ CPT5 рдирдИ рд╕реБрд╡рд┐рдзрд╛
рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред Visual Studio рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореИрдиреЗрдЬрд░ рдореЗрдВ NuGet рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреА рд╕реНрдерд┐рддрд┐ рдЬрд╛рдиреЗрдВ рдФрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
рдПрдХ рдирдпрд╛ ASP.NET MVC 3 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБред
рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдХрдорд╛рдВрдб рд░рдирдСрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MvcScaffolding рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред NuGet рдХрдВрд╕реЛрд▓ рдЦреЛрд▓реЗрдВ: рдореБрдЦреНрдп рдореЗрдиреВ "рджреЗрдЦреЗрдВ" тЖТ "рдЕрдиреНрдп рд╡рд┐рдВрдбреЛрдЬ" тЖТ "рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХрдВрд╕реЛрд▓"ред
рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмрд╛рдж рдореЗрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдпрд╣ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди MvcScaffolding рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рдЙрдкрдХрд░рдг рд╣реИ, рдФрд░ рд░реЗрд▓ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рд╕рдорд╛рди рд╣реИред
рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:
Install-Package MvcScaffolding
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдХрдорд╛рдВрдб рдЖрдкрдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ MvcScaffolding рдкреИрдХреЗрдЬ рдФрд░ рд╕рд╛рде рд╣реА EFCodeFirst рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛, рдЬреЛ рдирд┐рд░реНрднрд░ рд╣реИ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВрдиреЗ рдкрд╣рд▓реЗ EFCodeFirst рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдерд╛)ред
рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдФрд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбреЛрдореЗрди
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореИрдВ рдЬрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рд╡рд╣ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдСрдЯреЛ рдкрд╛рд░реНрдЯреНрд╕ рдХреИрдЯрд▓реЙрдЧ рд╣реИ рдФрд░ рд╕реНрдЯреЛрд░ рдпрд╛ рдЕрдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдореЙрдбрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ:
- рдХрд╛рд░ рдмрдирд╛рдиреЗ
- рдЖрджрд░реНрд╢
- рдирд┐рд░реНрдорд╛рдг рдХрд╛ рд╡рд░реНрд╖
- рд╕реНрдкреЗрдпрд░ рдкрд╛рд░реНрдЯ
рдЖрдЗрдП рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдореБрдЦреНрдп рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдПрдВред
public class Make
{
public int Id { get ; set ; }
public string Name { get ; set ; }
public List <Model> Models { get ; set ; }
}
public class Model
{
public int Id { get ; set ; }
public string Name { get ; set ; }
public int MakeId { get ; set ; }
[NotMapped]
public string FullName
{
get { return string .Format( "{0} {1}" , Make.Name, Name); }
}
virtual public Make Make { get ; set ; }
public List <Release> Years { get ; set ; }
}
public class Release
{
public int Id { get ; set ; }
public int ModelId { get ; set ; }
public int YearId { get ; set ; }
[NotMapped]
public string FullName
{
get { return string .Format( "{0} ({1})" , Model.FullName, Year.Value); }
}
virtual public Model Model { get ; set ; }
virtual public Year Year { get ; set ; }
public List <Part> Parts { get ; set ; }
}
public class Part
{
public int Id { get ; set ; }
public string Name { get ; set ; }
public string Description { get ; set ; }
public decimal Price { get ; set ; }
public int Quantity { get ; set ; }
public int GroupId { get ; set ; }
virtual public Group Group { get ; set ; }
public List <Release> Releases { get ; set ; }
}
* This source code was highlighted with Source Code Highlighter .
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдореЙрдбрд▓, рдмреНрд░рд╛рдВрдб рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмреАрдЪ рдПрдХ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдз рд╣реИрдВ, рдФрд░ рд╕реНрдкреЗрдпрд░ рдкрд╛рд░реНрдЯреНрд╕ рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЗ рдмреАрдЪ рдХрдИ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдз рд╣реИрдВред рдореИрдВ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ MvcScaffolding рдЗрд╕ рд░рд┐рд╢реНрддреЗ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдб рдХреНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдореЙрдбрд▓ рдХреЗ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред рдпрд╣ Id, {EssenceName} Id рдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛ [Key] рд╣реЛ рд╕рдХрддреА рд╣реИ
- рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА {EssenceName} Id рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ
- рдЬрдЯрд┐рд▓ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдпрд╣ рдмреЗрд╣рддрд░ рдХреЗ рд▓рд┐рдП рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЙрдирдХреЗ рд╕рд╛рде рдХрдИ рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдореЙрдбрд▓" рдореЗрдВ рд╣рдордиреЗ MakeId рдлрд╝реАрд▓реНрдб рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ - "рдорд╛рд░реНрдХ" рд╕реЗ рд╡рд┐рджреЗрд╢реА рдХреБрдВрдЬреА, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╡рд░реНрдЪреБрдЕрд▓ рдХреИрдорд░рд╛ рдореЗрдХред рдпрд╣ рдПрдХ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдХрдИ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕реВрдЪреА рдЧреБрдгреЛрдВ рдХреЛ рд╡рд░реНрдЧреЛрдВ рдФрд░ рд░рд┐рд▓реАрдЬ рдореЗрдВ рдЬреЛрдбрд╝рд╛
CodeFirst рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рд▓рд┐рдП, рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдпрд╣ рд╡рд┐рд╡рд░рдг рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ: рд╣рдореЗрдВ рднрдВрдбрд╛рд░рдг рдФрд░ рдкреАрдврд╝реА рдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЖрд╡реЗрджрди рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕рдм рдХреБрдЫ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдирд┐рд░реНрдорд╛рдг
MvcScaffolding рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреА рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЦреЛрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдпрд╣ рдЪрд░рдг рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рдЖрдЗрдП рдЕрдкрдиреЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдХрд╕реНрдЯрдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
Scaffold CustomTemplate MvcScaffolding.RazorView _CreateOrEdit
Scaffold CustomTemplate MvcScaffolding.RazorView Edit
Scaffold CustomTemplate MvcScaffolding.RazorView Index
Scaffold CustomTemplate MvcScaffolding.Controller ControllerWithRepository
рдирддреАрдЬрддрди, рдЯреЗрдореНрдкрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдирдпрд╛ рдлрд╝реЛрд▓реНрдбрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
рдЕрдм рдЖрдк рдЗрди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрддреНрдкрдиреНрди рдХреЛрдб рд╣рдорд╛рд░реЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдФрд░ рдорд╛рд░реНрдХрдЕрдк рд╕реЗ рдореЗрд▓ рдЦрд╛рдПред
рдЕрдЧрд▓рд╛, рд╣рдорд╛рд░рд╛ рдкрд╣рд▓рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдмрдирд╛рдПрдВ:
Scaffold Controller Make -Verbose -ControllerName Make -DbContextType ApartsContext -Repository
рдпрд╣рд╛рдВ:
- рдордЪрд╛рди рдирд┐рдпрдВрддреНрд░рдХ - рдирд┐рдпрдВрддреНрд░рдХ рдирд┐рд░реНрдорд╛рдг рдХрдорд╛рди
- рдмрдирд╛рдУ - рдореЙрдбрд▓ рд╡рд░реНрдЧ рдХрд╛ рдирд╛рдо
- -ControllerName рдмрдирд╛рдУ - рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБрд╡рдЪрди рд░реВрдк рдореЙрдбрд▓ рдХреА рдУрд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ
- -DbContextType ApartsContext - рд╕рдВрджрд░реНрдн рд╡рд░реНрдЧ
- -Repository - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдПрдХреНрд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рдирддреАрдЬрддрди, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рддреЗ рд╣реИрдВ
- MakeController рдирд┐рдпрдВрддреНрд░рдХ рдЬрд┐рд╕рдореЗрдВ рдореЗрдХ рдПрдВрдЯрд┐рдЯреА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдиреЗ, рд╣рдЯрд╛рдиреЗ, рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ
- рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрддрд╕рдВрдмрдВрдз рд╕рдВрджрд░реНрдн (рдпрджрд┐ рдпрд╣ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдЬреЛ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ
- рдореЗрдХ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА - рдмреБрдирд┐рдпрд╛рджреА рдирд┐рдпрдореЛрдВ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рдлрд╝рд╛рдЗрд▓реЗрдВ рджреЗрдЦреЗрдВ _CreateOrEdit.cshtml, Create.cshtml Delete.cshtml Details.cshtml Edit.cshtml Index.cshtml
рдореИрдВ рдпрд╣рд╛рдВ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдЬреЛ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЖрдк рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рдЗрд╕реА рддрд░рд╣ рджреВрд╕рд░рд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рддреЗ рд╣реИрдВ:
Scaffold Controller Model -Verbose -ControllerName Model -DbContextType ApartsContext -Repository
рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рджреГрд╢реНрдп рдЦреЛрд▓реЗрдВ _CreateOrEdit.cshtml рдФрд░ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ:
...
@Html.DropDownListFor(model => model.MakeId, (( IEnumerable <ApartCatalogMvc.Models.Make>)ViewBag.PossibleMakes).Select(option => new SelectListItem {
Text = (option == null ? "None" : option.Name),
Value = option.Id.ToString(),
Selected = (Model != null ) && (option.Id == Model.MakeId)
}), "Choose..." )
...
* This source code was highlighted with Source Code Highlighter .
рдФрд░ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛрдб рдореЗрдВ рднреА:
...
public ActionResult Edit( int id)
{
ViewBag.PossibleMakes = makeRepository.GetAllMakes();
...
* This source code was highlighted with Source Code Highlighter .
MvcScaffolding рдиреЗ рдПрдХ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рд╛: рдореЙрдбрд▓ рдХреЗ рд╕рдВрдкрд╛рджрди рджреГрд╢реНрдп рдореЗрдВ, рдПрдХ рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдмрдирд╛рдИ рдЧрдИ рдереА рдЬреЛ рдорд╛рд░реНрдХ рд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдмрд╛рдж рд╣реИред
рд╣рдо рдЕрдкрдиреЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ:
Scaffold Controller Release -Verbose -ControllerName Releases -DbContextType ApartsContext -Repository
Scaffold Controller Part -Verbose -ControllerName Part -DbContextType ApartsContext -Repository
рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд┐рдпрдВрддреНрд░рдХ, рджреГрд╢реНрдп рдФрд░ рд░рд┐рдкреЛрдЬрд┐рдЯрд░реА рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВред рдпрд╣рд╛рдВ, рдПрдХ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде, рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИ (рдЖрдк рдмреЗрд╣рддрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдбреНрд░реЙрдк-рдбрд╛рдЙрди рд╕реВрдЪреА рдирд┐рд░реНрдорд╛рдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдХреЗрд╡рд▓ FullName рдХреЗ рд╕рд╛рде рдирд╛рдо рдХреА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ), рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдИ-рд╕реЗ-рдХрдИ рд╕рдВрдмрдВрдзреЛрдВ рдХреЗ рд▓рд┐рдП, MvcScaffels рдиреЗ рдХреБрдЫ рднреА рдирд╣реАрдВ рдмрдирд╛рдпрд╛, рдЗрд╕рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕реЗ рдпрд╛ рддреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдпрд╛ рдЬреЗрдирд░реЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рдПрдХ рдЕрд▓рдЧ рд╡рд┐рд╖рдп рд╣реИ, рдореИрдВ рджреВрд╕рд░реЗ рд▓реЗрдЦ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓рд┐рдЦрдиреЗ рдФрд░ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рдФрд░ MvcScaffolding рдХреЗ рд▓реЗрдЦрдХ рдХреЛ рдмрддрд╛рдКрдВрдЧрд╛, рд╢рд╛рдпрдж рд╡рд╣ рдЗрд╕реЗ рдЕрдЧрд▓реЗ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдЧрд╛)ред
рдЕрдм рд╣рдореЗрдВ рдХреЗрд╡рд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдФрд░ рдЕрдиреНрдп рд╡рд░реНрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдмрдирд╛рдирд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдирд╣реАрдВ рд╣реИрдВред
Scaffold Repository Year -DbContextType ApartsContext -Verbose
Scaffold Repository Group -DbContextType ApartsContext -Verbose
рдкрд╣рд▓реЗ рд▓реЙрдиреНрдЪ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрджрд┐ рдпрд╣ SQL рдПрдХреНрд╕рдкреНрд░реЗрд╕ рд╣реИ, рддреЛ рдПрдХ рднреМрддрд┐рдХ рдлрд╝рд╛рдЗрд▓ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
< add name ="ApartsContext"
connectionString ="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ApartsDB.mdf;Integrated Security=True;User Instance=True;Initial Catalog=ApartsDB"
providerName ="System.Data.SqlClient" />
* This source code was highlighted with Source Code Highlighter .
рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдХрдиреЗрдХреНрд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдирд╛рдо рд╕рдВрджрд░реНрдн рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдФрд░ рдкреВрд░реНрдг рд╕рдВрджрд░реНрдн рд░рдЦрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, DropCreateDatabaseAlways рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рдПрдХ рд╡рд░реНрдЧ рдЬреЛрдбрд╝реЗрдВ, рдЬреЛ рд╣рд░ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЖрд░рдВрдн рдХрд░реЗрдЧрд╛ред
public class ApartsInitializer : DropCreateDatabaseAlways<ApartsContext>
{
protected override void Seed(ApartsContext context)
{
var makes = new List <Make>
{
new Make { Name = "BMW" },
new Make { Name = "Mazda" }
};
makes.ForEach(m => context.Makes.Add(m));
...
* This source code was highlighted with Source Code Highlighter .
рдФрд░ Global.asax рдореЗрдВ, рдЬрдм рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЬреЛрдбрд╝реЗрдВ:
...
DbDatabase.SetInitializer<ApartsContext>( new ApartsInitializer());
...
* This source code was highlighted with Source Code Highlighter .
рдереЛрдбрд╝рд╛ рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред
рдирд┐рд╖реНрдХрд░реНрд╖
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рд╕рднреА рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдПред
рдЕрд╡рд╕рд░ рдЬреЛ рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХреА рдХрдореА рдереА:
- рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдкреЗрдЬрд┐рдВрдЧ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ
- рдХрдИ-рдХрдИ рд░рд┐рд╢реНрддреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди
- рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП DataTme
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдм рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдм рддрдХ, EFCodeFirst рдФрд░ MvcScaffolding рдмреАрдЯрд╛ рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИрдВ рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВред
рд╣рдо рдкреВрд░реНрдг рд╣реЛрдВрдЧреЗ, рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛрдЧреА рдФрд░ ASP.NET MVC рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рдПрдЧреАред
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА
MvcScaffolding рд▓реЗрдЦрдХ рдмреНрд▓реЙрдЧ
рдирдореВрдирд╛ рд╕реНрд░реЛрдд