zoukankan      html  css  js  c++  java
  • Service的设计

    (个人理解:passwordHash、passwordSalt应该不能放在DTO中,因为DTO需要在各层之间传输,不安全。)

    ①、DTO需要哪些属性,取决于使用者需要哪些属性。

    ②、IService的实现。对GetById(long id)的理解:因为id是唯一的,所以调用之后应该判断结果是否为空。而对于GetByPhonNum(string phoneNum)来说,phoneNum在数据库是可以有重复的,所以调用完函数之后,除了判断是否为空,还应该判断是否有多个结果。例如:

    var users = bs.GetAll().Include(u => u.City).AsNoTracking().Where(u => u.PhoneNum == phoneNum);
                    int count = users.Count();
                    if(count<=0)
                    {
                        return null;
                    }
                    else if(count ==1)
                    {
                        return ToDTO(users.Single());
                    }
                    else
                    {
                        throw new ApplicationException("找到多条手机号为" + phoneNum + "的管理员");
                    }


    注意:

    一、Include()是为了一次性把数据都加载出来。

    二、AsNoTracking是为了不然外部对已经查询出来的数据进行修改而导致数据库的数据发生改变。

    三、Select、SelectMany的区别https://www.cnblogs.com/itjeff/p/3368627.html

  • 相关阅读:
    stm32串口通讯
    Java中日期处理
    Java中synchronized同步的理解
    由代理模式到AOP的实例分析
    基数排序(RadixSort)
    桶排序(BucketSort)
    计数排序
    快速排序
    6.5 k个已排好序链表合并为一个排序链表
    优先队列 (堆实现)
  • 原文地址:https://www.cnblogs.com/HuShaoyi/p/8541080.html
Copyright © 2011-2022 走看看