欢迎进入上海阳合供应链管理有限公司!
  •  13472705338 

  • 果蔬类自动化立体仓库的货位优化研究
  • 高职院校化学药品仓库管理
  • 装备仓库管理系统的设计与实现
  • 自动化立体高架仓库的消防设计研究
  • 某仓库建筑预作用喷水灭火系统设计探讨
  • 甲类危险化学品仓库调研及管理研究
  • 最新动态

    当前位置:首页 >> 走进阳合 >> 新闻资讯 >>   资讯详细新闻资讯

    基于LINQ三层架构仓库管理系统的设计与实现

      信息来源:   发布时间:2021-12-27  点击数:

    引言

    目前, 企业在管理仓库时, 多采用手工管理, 工作效率低。为改善这一状况, 实现出库、入库、请购等流程的计算机化操作, 笔者开发了基于LINQ三层仓库管理系统。

    1 系统功能设计

    本系统功能包括入库管理、出库确认、请购确认、报表生成、物品请购、出库申请、信息查询等。系统功能划分如图1所示。

    2 数据库设计

    数据库设计上, 本系统应用了如下原则:一是数据库应满足BC范式。二是各表的关系要建立完整, 方便LINQ联合查询。对于不能建立关系而又存在关系的表, 编写触发器。三是对于主键是其他表外键的表建立删除标志。系统共建立表18张, 下面列出有代表性的2张, 结构如表1和表2所示。

    3 系统架构设计

    因为三层架构能提高程序的复用性和扩展性, 利于标准化, 所以被软件界认可。因本系统有较高的扩展性要求, 故采用三层架构。

    系统总体架构如图2所示。视图表现层, 实现与用户的交互。商业逻辑层, 实现业务逻辑。数据访问层, 实现对数据表操作和读取配置文件。模型不属于任何层, 但能在各个层递协同各层工作。

    在三层架构中, 层与层之间的依赖是向下的, 底层对于上层而言是不能感知的, 改变上层的设计对于其调用的底层而言没有任何影响, 这也正是分层的意义所在[1]。本系统用LINQ To SQL类作为数据操作的服务提供者 (LINQ to SQL是.NET Framework 3.5版本的一个组件, 提供了用于将关系数据作为对象管理的运行时基础结构[2]) 。

    4 系统实现

    4.1 DAL层和Model实现

    DAL层即数据访问层, 其作用是为商业逻辑层提供基本数据服务。以往这层要手工编写, 工作量大且重复工作多。本系统采用LINQ To SQL类作为DAL类库和模型类库。其实现方法如下:

    创建DAL类库。添加名为“WMS”类型为“LINQ To SQL类”的新项目。在“服务器资源管理器”中, 创建连接到数据库的数据连接。展开数据库, 选中所有表并拖拽到WMS.dbml的设计视图, 系统将生成WMSData Context类, 该类包含所有系统所需的模型类和DAL类。

    4.2 BLL层实现

    BLL层即商业逻辑层, 是整个系统功能的实现者。实现BLL时, 要引用DAL并为每个类导入DAL名字空间, 这样才能调用WMSData Context类。

    本系统共建立18个BLL类。下面以货物分类为例讲解如何实现BLL类。

    首先在类中定义名为obj DB类型为WMS-Data Context的私有成员。

    4.2.1 创建分类

    public bool Add (货物类别M, out string Msg) {

    try{obj DB.货物类别.Insert On Submit (M) ;obj DB.Submit Changes () ;

    Msg=“成功”;return true;}

    catch (Exception e) {Msg=e.Message;return false;}}

    4.2.2 修改分类

    public bool Update (货物类别M, out string Msg) {

    var Rst=from r in obj DB.货物类别where r.ID==M.ID select r;

    if (Rst.Count () ==0) {Msg=“无记录!”;return false;}

    DAL.货物类别obj Target=Rst.First () ;

    obj Target.编号=M.编号;

    //其他字段略

    try{obj DB.Submit Changes () ;Msg=“成功”return true;}

    catch (Exception e) {Msg=e.Message;return false;}}

    4.2.3 查询分类

    public System.Linq.IQueryable<货物类别>get List (System.Linq.Expressions.Expression<Func<货物类别, bool>>expr) {

    return obj DB.货物类别.Where (expr) ;}

    4.3 View层实现

    View层即视图表现层, 其作用是获得用户的输入和给用户展示操作结果, 是系统和用户的接口。该层的设计要美观大方, 功能性强。实现时, 可采用Win Form或Web Form。

    本系统用ASP.NET实现该层, 使用Web Server控件完成输入输出功能, 同时用Ajax Control Toolkit3.5控件包增强Ajax功能, 改善用户体验。由于介绍此类内容的文章较多, 这里不再赘述。



    结束语

    在以往三层架构系统开发过程中, 开发者必须自己建立相应的类库, 这本身是一个费时费力的工作[3]。在本次开发过程中采用生成DAL类库和Model类库的方法, 简化了系统开发工作, 缩短了开发周期。这种用LINQ实现DAL和Model的方法, 势必会成为基于.NET三层架构系统开发的主要方法, 得到广泛应用。

    标签: 仓库 仓库管理



    友情链接 :图书管理软件   飞机   软件测试  保温材料   洒水车厂家   装修中式别墅  电锅炉  国际货代     明泰铝业  集成吊顶  成都活动策划公司 货代管理软件 进出口代理清关公司 模具钢  烟雾净化器 工作服价格 工业设计公司 激光打标机   电子签章   植发多少钱  上海展台搭建   网页设计公司   网上商城  电磁流量计   钢制暖气片
    上海货代  定制礼品   香港服务器租用 精品资源网   餐饮项目  纺织品检测
     磁性过滤器  上海物流公司
    膏药OEM 爬架网 远程工作 污水提升器
    防爆配电箱  网店转让   加速器
    沪公网安备31010702002684号 沪ICP备14036201号-29