NFine框架下载了有一年多了,中间看了两次,没看懂,就放弃了。后来,学了MVC框架后,EF框架等,再回过头来看NFINE框架,觉得容易多了。虽然JavaScript还没学,但也能大概看性逻辑了。唉,现在想系统学习点东西,时间真的太少。今个是国庆,玩的同时,学习一下还是有必要的,最主要的还是项目驱动,有钱赚。
OK,话不多说,在过程能理解,小细节还是不能明白,先稍做总结,后面再仔细琢磨,以下是添加一个页面的从前端到后端的过程:
1、建立YourEntity,扩展如下接口:IEntity<YourEntity>, ICreationAudited, IDeleteAudited, IModificationAudited
其实就是构建表过程,不过人家设计好的规则,必须要遵从。
2、在同项目下的04 IRepository,建立仓库接口。
public interface IYourRepository : IRepositoryBase<YourEntity>
{
}
3、在maping中添加映射,其实就是在context中声明你的表名称。
Sys_Your就是表名称,告诉系统主键是哪个。
public class YourMap : EntityTypeConfiguration<YourEntity>
{
public YourMap()
{
this.ToTable("Sys_Your");
this.HasKey(t => t.F_Id);
}
}
4、在NFine.Repository项目中继承接口
namespace NFine.Repository.SystemManage
{
public class YourRepository : RepositoryBase<YourEntity>, IYourRepository
{
}
}
5、在NFine.Application中实现应用服务
public class YourApp
{
private IYourRepository service = new YourRepository();
public List<YourEntity> GetList()
{
return service.IQueryable().ToList();
}
public YourEntity GetForm(string keyValue)
{
return service.FindEntity(keyValue);
}
public void DeleteForm(string keyValue)
{
service.Delete(t => t.F_Id == keyValue);
}
public void SubmitForm(YourEntity itemsEntity, string keyValue)
{
if (!string.IsNullOrEmpty(keyValue))
{
itemsEntity.Modify(keyValue);
service.Update(itemsEntity);
}
else
{
itemsEntity.Create();
service.Insert(itemsEntity);
}
}
}
6、在04 Web 应用程序,Nfine.web的Areas中建立管理文件和yourcontroler,添加相应的action
如果是新建立管理文件夹,还得加个web.config,复制一个过去就行
7、添加相应的view
页面展示或实现JAVASCript调用AJAX action。