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;[email protected];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