您的位置:首页 > 其它

Git.Framework 框架随手记--ORM项目工程

2014-05-05 09:46 295 查看
  前面已经简单介绍过了该框架(不一定是框架),本文开始重点记录其使用过程。可能记录的内容不是太详尽,框架也可能非常烂,但是里面的代码句句是实战项目所得。本文非教唆之类的文章,也非批判之类的文章,更不是炫技之类的文章,只是工作的记录和总结,希望能够给大家一些启迪,忘诸位勿喷!

  一. 组建项目需要的几个部分

    .NET中最为经典的三层结构,众所周知,无人不晓. 在Git.Framework框架中我们也遵循最基本的这种结构,ORM部分我们划分为如下: 数据实体层,数据访问接口层,数据访问层,[层序主入口加载相应的配置]。 在上一篇我们讲到了最基本的配置。这几个层次结构都要遵循一定的规则.

    项目结构截图:

    

public IInStorage InStorage { get { return new InStorageDataAccess(); } }

--------------------------------------------------------------------------------
public override string Create(InStorageEntity entity, List<InStorDetailEntity> list)
{
using (TransactionScope ts = new TransactionScope())
{
int line = 0;
entity.OrderNum = entity.OrderNum.IsEmpty() ? (new TNumProivder()).GetSwiftNum(typeof(InStorageEntity), 5) : entity.OrderNum;
entity.IncludeAll();
if (!list.IsNullOrEmpty())
{
list.ForEach(a =>
{
a.IncludeAll();
a.OrderNum = entity.OrderNum;
});
entity.Num = list.Sum(q => q.Num);
entity.Amount = list.Sum(a => a.Amount);
line = this.InStorage.Add(entity);
line += this.InStorDetail.Add(list);
}
ts.Complete();
return line > 0 ? EnumHelper.GetEnumDesc<EReturnStatus>(EReturnStatus.Success) : string.Empty;
}
}


测试代码
    上面的代码用于创建一个单据的,单据在系统中一个是一个抽象类,这里不过多的累述。

    entity.IncludeAll(); 注意到这个语句,在插入数据的时候要调用这个方法,这个方法用于自定哪些字段插入到数据库,后面详述具体过程。

    this.InStorage.Add(entity); 最终我们只需要将调用这个方法Add 就可以将实体InStorageEntity的实例数据插入到对应的数据库表InStorage中。

  六. 总结

    要使用此框架可以整理为一下结果步骤:

    (1)新建工程并且引入框架中提供的类库

    (2)在主程序中配置相应的配置文件,用于连接数据库[配置文章必须遵循规则以及存放路径]

    (3)编写或者生产实体映射类,数据访问接口,数据访问类三部分,数据访问接口有时候也可以省略

    (4)创建接口实例调用接口中提供的方法  

    总的来说该操作相对于ADO.NET还是比较方便的,但是和目前一些较为流行的框架比如Linq to SQL,Entity Framework 等比较还是比较有差距,所以还需要不断的努力完善。

    目前公司一直在使用这个框架,效果还不错。如果你要说这些东西什么什么框架都可以实现,为什么要自己搞一套,我只能说这是积累!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: