MvcScaffolding рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ ASP.NET MVC 3 рдореЗрдВ рд░реИрдкрд┐рдб рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ ASP.NET MVC 3 рддрдХрдиреАрдХ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рдмрдирд╛рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред "рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕" рдХреЗ рд╕рд╛рде рдереЛрдбрд╝рд╛ рд╕рд╛ рд╕рдВрдкрд░реНрдХ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рд╕реНрдХреИрдлреЛрд▓реНрдбрд┐рдВрдЧ рдХреА рдЕрдкрдиреА рдХреНрд╖рдорддрд╛ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд░рдЦрдиреЗ рд▓рдЧрд╛ред рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреНрд░реЗрдорд╡рд░реНрдХ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рддрд░реАрдХрд╛ред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЛ рд╡реНрдпрд╡рд╕рд╛рдп рдореЙрдбрд▓ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдкрд░ рд╕рдордп рдмрд░реНрдмрд╛рдж рдХрд┐рдП рдмрд┐рдирд╛ рдПрдХ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред ASP.NET MVC рдореЗрдВ рдРрд╕рд╛ рд╣реА рдХреБрдЫ рд╣реИ? рдФрд░ рдХреИрд╕реЗ рдХрд╛рд░реНрдпрд╛рддреНрдордХ, рддреЗрдЬ, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХред

рдореИрдВ рдПрдХ рдареЛрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде рдЗрд╕ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕ рддрд░рд╣ рдореИрдВ рд╕рд╛рдорд╛рдиреЛрдВ рдХреА рдПрдХ рд╕рд░рд▓ рд╡реЗрдм рдХреИрдЯрд▓реЙрдЧ рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдСрдЯреЛ рдкрд╛рд░реНрдЯреНрд╕ рдХрд╛ рдПрдХ рдХреИрдЯрд▓реЙрдЧ рд╣реЛрдЧрд╛ред

рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд╛рд╕ рдЙрдкрдХрд░рдг рдФрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред







рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╕реЗрдЯрдЕрдк



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред 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 рдЗрд╕ рд░рд┐рд╢реНрддреЗ рдХреЛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧреА рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХреЛрдб рдХреНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛрдЧрд╛ред рдЖрдЧреЗ рджреЗрдЦрддреЗ рд╣реБрдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рдпрдореЛрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдореЙрдбрд▓ рдХреЗ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╕рдордп рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:



рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, "рдореЙрдбрд▓" рдореЗрдВ рд╣рдордиреЗ 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







рдпрд╣рд╛рдВ:



рдирддреАрдЬрддрди, рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рдФрд░ рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рддреЗ рд╣реИрдВ



рдореИрдВ рдпрд╣рд╛рдВ рдЙрддреНрдкрдиреНрди рдХреЛрдб рдирд╣реАрдВ рджреВрдВрдЧрд╛, рдЬреЛ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЖрдк рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ рд▓рд┐рдВрдХ рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдм рдЗрд╕реА рддрд░рд╣ рджреВрд╕рд░рд╛ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рддреЗ рд╣реИрдВ:



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 .






рдереЛрдбрд╝рд╛ рдкреНрд░рд╛рдкреНрдд рдХреЛрдб рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдЖрд╡реЗрджрди рдкреНрд░рд╛рдкреНрдд рд╣реБрдЖред



рдЫрд╡рд┐



рдирд┐рд╖реНрдХрд░реНрд╖



рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рд╕рднреА рд╕реБрдзрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде, рдХрд╛рд░реНрдпрд╛рддреНрдордХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдмрдирд╛рдиреЗ рдореЗрдВ рдХреЗрд╡рд▓ рдХреБрдЫ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдПред

рдЕрд╡рд╕рд░ рдЬреЛ рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХреА рдХрдореА рдереА:



рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдм рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдореЗрдЯрд╛рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдм рддрдХ, EFCodeFirst рдФрд░ MvcScaffolding рдмреАрдЯрд╛ рдореЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╣реИрдВ рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╣реИрдВред

рд╣рдо рдкреВрд░реНрдг рд╣реЛрдВрдЧреЗ, рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реЛрдЧреА рдФрд░ ASP.NET MVC рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЬрд╛рдПрдЧреАред



рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА



MvcScaffolding рд▓реЗрдЦрдХ рдмреНрд▓реЙрдЧ

рдирдореВрдирд╛ рд╕реНрд░реЛрдд



All Articles