zoukankan      html  css  js  c++  java
  • EF导航属性会自动从已查出来的对象附加

    如果新增对象导航属性对应的Id有值,其相应的导航属性会自动在内存中查找,如果存在会自动附加上去。

    public virtual void UpdateMaterialPurchaseOrderItem(
                ChangeDtos<MaterialPurchaseOrderItemDetailInputDto> itemDetail, Guid billId)
            {
                Ensure.NotNull(itemDetail, nameof(itemDetail));
                var materialPurchaseOrder = GetEntityById(billId);
                _materialPurchaseOrderItemInputUnitService.SaveChangeDtos(itemDetail, materialPurchaseOrder.OrderItemDetail);
                materialPurchaseOrder.OrderItemDetail.Where(a => a.Material == null).ForEach(a =>
                    {
                        a.Material = _materialRepository.First(a.MaterialId);
                    });
                RepositoryContext.Commit();
            }
    

     SaveChangeDtos封装了新增修改删除的方法在里面。

    如果非新增数据中OrderItemDetail.MaterialId与新增数据中的MaterialId相同,则EF会自动将Material赋值。

    给a.Material赋值的循环,只有当OrderItemDetail集合中(非新增数据)不存在对应的MaterialId时才会进入循环

  • 相关阅读:
    Search in Rotated Sorted Array
    Search insert position
    二分法感悟
    The Smallest Difference
    Lintcode: Nuts & Bolts Problem
    167. Two Sum II
    登录页面
    注册页面
    在线版简易计算器
    简单工厂模式
  • 原文地址:https://www.cnblogs.com/Cyril-hcj/p/11910002.html
Copyright © 2011-2022 走看看