关于ling-sql的写法

        var query = from entity in GetMaterialViewModelList()
                        select entity;
         


 var result = from mcq in BOMDataBase.MD_MaterialCatQualities
                         join mc in BOMDataBase.MD_MaterialCategories on mcq.CategoryID equals mc.ID
                         join q in BOMDataBase.MD_Qualities on mcq.QualityID equals q.ID
                         select new
                         {
                             md_mcq = mcq,
                             md_mc = mc,
                             md_q = q
                         };
            foreach (var o in result)
            {
                MD_MaterialCatQuality md_mcq = new MD_MaterialCatQuality();
                md_mcq.MD_MaterialCategory = o.md_mc;
                md_mcq.MD_Quality = o.md_q;

                MaterialCatQualityModel materialCatQualityModel = new MaterialCatQualityModel();
                materialCatQualityModel.ID = md_mcq.ID;
                materialCatQualityModel.CategoryID = md_mcq.CategoryID;
                materialCatQualityModel.QualityCode = o.md_q.Code;
                materialCatQualityModel.QualityName = o.md_q.Name;
                materialCatQualityModel.Quality = o.md_q;

                listMaterialCatQualityModel.Add(materialCatQualityModel);
            }




        public List<TISTankDataModel> GetTISTankDataModelListByEqualsTimeStamp(DateTime startDateTime, DateTime endDateTime)
        {
            List<TISTankDataModel> listTISTankDataModel = new List<TISTankDataModel>();
            EnumConvert enumConvert = new EnumConvert();

            var query = from entity in BOMDataBase.TIS_TankDatas
                        join tank in BOMDataBase.MD_Tanks on entity.TankCode equals tank.Code
                        join area in BOMDataBase.MD_Areas on tank.AreaID equals area.ID
                        join material in BOMDataBase.MD_Materials on tank.MaterialID equals material.ID
                        //   join tisMovementService in BOMDataBase.TIS_MovementServices on entity.TISMovementServiceID equals tisMovementService.ID
                        where entity.TimeStamp >= startDateTime && entity.TimeStamp <= endDateTime
                        select new TISTankDataModel()
                        {
                            ID = entity.ID,
                            TimeStamp = entity.TimeStamp,
                            TimeStampStr = entity.TimeStamp.ToString(),
                            TankID = tank.ID,
                            Tank = tank,
                            TankName = tank.Name,
                            AreaName = area.Name,
                            MaterialName = material.Name,
                            TankCode = entity.TankCode,
                            Level = entity.Level,
                            LevelStatus = entity.LevelStatus,
                            LevelStatusName = enumConvert.GetDescription(typeof(TankLevelStatus), entity.LevelStatus),
                            Pressure = entity.Pressure,
                            LiquidTemp = entity.LiquidTemp,
                            GasTemp = entity.GasTemp,
                            Density = entity.LiquidDensity,
                            IsPhysicalStockFail = entity.IsPhysicalStockFail,
                            VCF = entity.VCF,
                            GOV = entity.GOV,
                            GSV = entity.GSV,
                            //   TISMovementServiceID = entity.TISMovementServiceID.Value,
                            //  TISMovementService = tisMovementService,
                            Flowrate = entity.Flowrate,
                            RemainTime = entity.RemainTime
                        };

            foreach (var item in query.ToList())
            {

            }

            listTISTankDataModel = query.OrderByDescending(t => t.TimeStamp).ToList();

            return listTISTankDataModel;

        }


    public List<SnapshotReportViewModel> GetSnapshotReportViewModel(int startIndex, int endIndex, DateTime startDateTime, DateTime endDateTime)
        {
            EnumConvert enumConvert = new EnumConvert();

            var queryList = (from entity in BOMDataBase.TIS_TankDatas
                             join tank in BOMDataBase.MD_Tanks on entity.TankCode equals tank.Code
                             join area in BOMDataBase.MD_Areas on tank.AreaID equals area.ID
                             join material in BOMDataBase.MD_Materials on tank.MaterialID equals material.ID
                             //   join tisMovementService in BOMDataBase.TIS_MovementServices on entity.TISMovementServiceID equals tisMovementService.ID
                             where entity.TimeStamp >= startDateTime && entity.TimeStamp <= endDateTime
                             select new SnapshotReportViewModel()
                             {
                                 TankName = tank.Name,
                                 MaterialName = material.Name,
                                 Density15Deg = entity.LiquidDensity,
                                 TimeStamp = entity.TimeStamp,
                                 Level = entity.Level.Value,
                                 LevelStatusName = enumConvert.GetDescription(typeof(TankLevelStatus), entity.LevelStatus),
                                 LiquidTemp = entity.LiquidTemp.HasValue ? entity.LiquidTemp.Value : 0,
                                 VOL_Gross = entity.GOV.HasValue ? entity.GOV.Value : 0,
                                 VOL_Avail = entity.GOV.HasValue ? tank.MaxCapacityVol - entity.GOV.Value : tank.MaxCapacityVol,
                                 VOL_Ullage = entity.GOV.HasValue ? tank.MinCapacityVol - entity.GOV.Value : tank.MinCapacityVol
                             }).Distinct().OrderByDescending(t => t.TimeStamp).Skip(startIndex).Take(endIndex).ToList();

            int iSeq = 1;
            foreach (var item in queryList)
                item.No = iSeq++;

            return queryList;
        }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来杯水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值