ASP.NET MVC 5 SmartCode Scaffolding is an ASP.NET MVC Web application code generation framework integration in Visual Studio.Net development tools, use SmartCode Scaffolding can quickly complete a set of View, Controller and Model, the Service standard code.Reduces programmers from writing repetitive code during system development, and helps team members to follow the same architecture and specifications.Reduce the time of debugging and improve the development efficiency of software projects.。
SmartCode Scaffolding is a custom extension to Visual Studio.net ASP.NET Scaffolding and provides more functionality。
The project has been quietly updating and continuously improving the version since 2014,from Visual Sutdio.Net 2013 to the last 2019 verion .
GITHUB SmartCode Scaffolding qq:942771435
QQ:28440117,email:new163@163.com,weichat:neostwitter
#Installation & Run
You need to generate code with the WebApp project in the Demo because it references a lot of CSS and HTML templates
Demo
UserName:demo Password:123456
[Demo](http://106.52.105.140:6200/)
Refer to the EntityFrameWrok Code-First specification definition. The more standard the definition is, the more information you will have for the subsequent generated Code. The following code defines an Order, OrderDetail, one-to-many relationship. When creating the Controller of the Order class, the corresponding code in the Controller, View will be generated based on the associated entity. For example, EditView will generate both the operation on the header Order form and the DataGrid operation on the detail table OrderDetail. The definition of orderDetail refers to Product, many-to-one.The Combox control or DropDownList control and the query method of the Controller layer are generated in the View section。
//Define field description information, field length, and basic validation rules
public partial class Order:Entity
{
public Order() {
OrderDetails = new HashSet<OrderDetail>();
}
[Key]
public int Id { get; set; }
[Required] //提示必填,用红色标注
[Display(Name = "订单号", Description = "订单号", Order = 1)]
[MaxLength(12)] //输入长度验证
[MinLength(12)] //输入长度验证
[Index(IsUnique =true)]
public string OrderNo { get; set; }
[Required] //提示必填
[Display(Name ="客户名称",Description ="订单所属的客户",Order =1)]
[MaxLength(30)]
public string Customer { get; set; }
[Required]
[Display(Name = "发货地址", Description = "发货地址", Order = 2)]
[MaxLength(200)]
public string ShippingAddress { get; set; }
[Display(Name = "订单日期", Description = "订单日期默认当天", Order = 3)]
[DefaultValue("now")] //初始化创建对象时设定默认值
public DateTime OrderDate { get; set; }
//关联订单明细 1-*
public virtual ICollection<OrderDetail> OrderDetails { get; set; }
}
public partial class OrderDetail:Entity
{
[Key]
public int Id { get; set; }
...
}
Controllers\OrdersController.cs /* MVC controller */
Repositories\Orders\OrderQuery.cs /* Define business logic related queries such as paging selection, foreign key/primary key queries */
Repositories\Orders\OrderRepository.cs /* Repository Design patterns */
Services\Orders\IOrderService.cs /* business logic interfaces */
Services\Orders\OrderService.cs /* business logic implementation */
Views\Orders\Index.cshtml /* The order information DataGrid includes functions such as query/add/delete/modify/import/export */
Views\Orders\_PopupDetailFormView.cshtml /* Order information pops up in an edit window */
/// <summary>Registers the type mappings with the Unity container.</summary>
/// <param name="container">The unity container to configure.</param>
/// <remarks>There is no need to register concrete types such as controllers or API controllers (unless you want to
/// change the defaults), as Unity allows resolving a concrete type even if it was not previously registered.</remarks>
public static void RegisterTypes(IUnityContainer container)
{
container.RegisterType<IRepositoryAsync<Order>, Repository<Order>>();
container.RegisterType<IOrderService, OrderService>();
container.RegisterType<IRepositoryAsync<OrderDetail>, Repository<OrderDetail>>();
container.RegisterType<IOrderDetailService, OrderDetailService>();
}
component
- ”Microsoft.AspNet.Mvc” version="5.2.4"
- “Microsoft.AspNet.Razor“ version="3.2.4"
- "EasyUI" version="1.4.5"
- "Hangfire" version="1.6.17"
- "Unity.Mvc" version="5.0.13"
- "Z.EntityFramework.Plus.EF6" version="1.7.15"
- SmartAdmin - Responsive WebApp v1.9.1
- "EntityFramework" version="6.2.0" 支持Oracle,MySql,Sql Server,PostgreSQL,SQLite,Sybase等
x-TMS SCRM MES
Apache License Version 2.0
Copyright 2017 Neo.Zhu
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.