Asp.Net Mvc + ComBoost.Mvc快速开发
ComBoost项目地址
https://github.com/Kation/ComBoost/tree/develop
准备工作
首先,在Visual Studio中创建Mvc4项目。
然后使用NuGet安装ComBoost
程序包。
编写实体
在Models
文件夹里添加EmployeeGroup
员工组类。
EmployeeGroup
继承EntityBase
。
[DisplayName("员工组")] [DisplayColumn("GroupName", "GroupName")] public class EmployeeGroup : EntityBase { [Required] [Display(Name = "员工组名称", Order = 0)] public virtual string GroupName { get; set; } [Hide] public virtual ICollection<Employee> Employees { get; set; } }
在Models
文件夹里添加Employee
员工组类。
Employee
同样继承EntityBase
。
[DisplayName("员工")] [DisplayColumn("Name", "Name")] public class Employee : EntityBase { [Display(Name = "员工名称", Order = 0)] [Required] public virtual string Name { get; set; } [Display(Name = "性别", Order = 10)] [CustomDataType(CustomDataType.Sex)] public virtual bool Sex { get; set; } [Required] [Display(Name = "员工工号", Order = 20)] public virtual string JobNumber { get; set; } [Column(TypeName = "datetime2")] [Display(Name = "出生日期", Order = 30)] public virtual DateTime Birth { get; set; } [Display(Name = "婚否", Order = 40)] public virtual bool Marital { get; set; } [Required] [Display(Name = "部门", Order = 50)] public virtual EmployeeGroup Group { get; set; } [Display(Name = "联系电话", Order = 60)] public virtual string Tel { get; set; } [Display(Name = "电子邮件", Order = 70)] public virtual string Email { get; set; } [Display(Name = "QQ", Order = 80)] public virtual string QQ { get; set; } }
使用EntityFramework
在NuGet里安装EntityFramework
。
安装好后在Models
文件夹添加DataContext
类。
DataContext
继承EntityFramework
的DbContext
类。
public class DataContext : DbContext { public DbSet<Employee> Employee { get; set; } public DbSet<EmployeeGroup> EmployeeGroup { get; set; } }
之后在项目根目录下的web.config
文件里添加数据连接字符串。
<connectionStrings> <add name="DataContext" connectionString="server=127.0.0.1;database=Test;Uid=sa;Pwd=123@abc;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" /> </connectionStrings>
最后
在NuGet里安装ComBoost.Mvc
和ComBoost.Unity
、ComBoost.Bootstrap
程序包。
推荐更新所有程序包至最新!
修改App_Start
文件夹里的UnityControllerFactory.cs
依赖注入DataContext
并注册实体控制器。
public UnityControllerFactory(IUnityContainer container) { _container = container; //Change EntityContextBuilder to your class that inherit IEntityContextBuilder interface. //If your entity context builder has constructor with arguments, continue register types that you need. container.RegisterType<DbContext, DataContext>(new MvcLifetimeManager()); container.RegisterType<IEntityContextBuilder, EntityContextBuilder>(new MvcLifetimeManager()); //Register your entity here: //RegisterController<EntityType>(); //... RegisterController<Employee>(); RegisterController<EmployeeGroup>(); }
完成
现在,您已经创建好项目了,您可以访问/Employee
或/EmployeeGroup
地址对实体进行编辑。
这是个最基础的示例,实际情况您需要对
_Layout.cshtml
进行编辑,更有可能创建控制器实现其它功能,详情请看相关文档。示例项目文件下载:MvcSample.rar