目录

  • 71. item.label = $"{lstD[i].DeptName}({lstCamera.Count})";
  • 72. 定义entity时不写传统的{get;set;}
  • 73.
  • 74. EF多对多
  • 75. DateTime.Now.Subtract(x.GpsTime).TotalHours
  • 76. queryModel.LogDate.Value.Year
  • 77. .net导出Excel
  • 78. User.Identity.Name
  • 79.
  • 80. EF忽略查询(待解决)
  • 81. A_Model 映射到 B_Model
  • 82.
  • 83. list.Any()
  • 82. dateTime.Psrse();
  • 83.
  • 83. model.LiangLength ?? 0
  • 84. id = Guid.NewGuid()
  • 85. DateTime.Subtract(DateTime t)
  • 86. list.take(100)
  • 87. DateTime.Value.Year
  • 88. var 堆和栈
  • 89. GroupBy 的用法
  • 90. 将string字符串按,拆分并转成网络路径后存入list集合。
  • 91. string.Join("-", z.Files)
  • 92. ToModel() 方法
  • 93. entity
  • 94. LogHelper.LogInfo输出日志
  • 95. lst.Select(Lambda)
  • 96.
  • 97. whereLambda表达式初始值,类似于SQL语句的“where 1=1”
  • 98. string.IsNullOrEmpty()
  • 99. lst.ForEach(Lambda)
  • 100. dao.Table.Any(Lambda)


71. item.label = $“{lstD[i].DeptName}({lstCamera.Count})”;

item.label = $"{lstD[i].DeptName}({lstCamera.Count})";

输出结果如下:
“label”: “潜江市交通运输局(70)”,

72. 定义entity时不写传统的{get;set;}

public class IPCJobSModel
{
 	 public int Id { get; set; }
     /// <summary>
     /// 实际结束时间
     /// </summary>
     public DateTime? ActualEndTime { get; set; }
 	 public string IsOverdue
        {
            get
            {
                var TempIsOverdue = "NO";
                DateTime TempActualEndTime = ActualEndTime == null ? DateTime.Now : ActualEndTime.Value;
                if (TempActualEndTime> HandleEndTime)
                {
                    TempIsOverdue = "YES";
                }
                return TempIsOverdue;
            }
        }
}

73.

java 拉姆达where 拉姆达字符代码_c++

74. EF多对多

潜江-角色用户关联表

75. DateTime.Now.Subtract(x.GpsTime).TotalHours

List<PersonGps> lstOnPersonGps = lstPersonGps.Where(x => DateTime.Now.Subtract(x.GpsTime).TotalHours <= 0.5).ToList();

76. queryModel.LogDate.Value.Year

77. .net导出Excel


78. User.Identity.Name

获取当前登录人的name

SysUserService userService = new SysUserService();
string userName = User.Identity.Name;
UserEntity userinfo = userService.GetUserByName(userName);

79.

IQueryable requredDataFields = data.Select(x => new {  x.Title,  x.NestedObject });

80. EF忽略查询(待解决)

利用EF查询数据库时,忽略查询某字段,提高查询效率;

81. A_Model 映射到 B_Model

/// <summary>
    /// 扩展工具类
    /// </summary>
    public static class Utils
    {
        // 运行时映射
        public static void ReflectCase<Oringin, Target>(Oringin origin, Target target)
        {
            Type type = origin.GetType();
            Type type2 = target.GetType();
            PropertyInfo[] properties = type.GetProperties();
            for (int i = 0; i < properties.Length; i++)
            {
                PropertyInfo propertyInfo = properties[i];
                bool flag = propertyInfo.Name == "Id";
                if (!flag)
                {
                    PropertyInfo[] properties2 = type2.GetProperties();
                    for (int j = 0; j < properties2.Length; j++)
                    {
                        PropertyInfo propertyInfo2 = properties2[j];
                        bool flag2 = propertyInfo.Name == propertyInfo2.Name && propertyInfo.GetValue(origin) != null;
                        if (flag2)
                        {
                            propertyInfo2.SetValue(target, propertyInfo.GetValue(origin));
                        }
                    }
                }
            }
        }

82.

//public string DeleteTimeString
        //{
        //    get { return DeleteTime == null ? "" : DeleteTime.Value.ToString("yyyy-MM-dd HH:mm:ss"); }
        //    set { DeleteTime = string.IsNullOrEmpty(value) ? DateTime.Now : DateTime.Parse(value); }
        //}

83. list.Any()

确定序列是否包含任何元素。

// 摘要:
        //     确定序列是否包含任何元素。
        //
        // 参数:
        //   source:
        //     要检查是否为空的 System.Collections.Generic.IEnumerable`1。
        //
        // 类型参数:
        //   TSource:
        //     source 中的元素的类型。
        //
        // 返回结果:
        //     如果源序列包含任何元素,则为 true;否则为 false。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     source 为 null。
        public static bool Any<TSource>(this IEnumerable<TSource> source);

82. dateTime.Psrse();

// 摘要:
        //     将日期和时间的字符串表示形式转换为其等效的 System.DateTime。
        //
        // 参数:
        //   s:
        //     包含要转换的日期和时间的字符串。
        //
        // 返回结果:
        //     一个对象,它等效于 s 中包含的日期和时间。
        //
        // 异常:
        //   T:System.ArgumentNullException:
        //     s 为 null。
        //
        //   T:System.FormatException:
        //     s 中不包含有效的日期和时间的字符串表示形式。
        public static DateTime Parse(string s);

83.

public List<ChildrenModel> children { get; set; } = new List<ChildrenModel>();

83. model.LiangLength ?? 0

Dictionary<string, decimal> diclist = new Dictionary<string, decimal>();
diclist.Add("良", model.LiangLength ?? 0);

84. id = Guid.NewGuid()

id = Guid.NewGuid()

85. DateTime.Subtract(DateTime t)

从此实例中减去指定的日期和时间;

DateTime.Now.Subtract(x.GpsTime).TotalHours <= 0.5

86. list.take(100)

取lstOverload集合中的前100条进行遍历操作;更多和skip

foreach (OverloadCtrlEntity en in lstOverload.OrderByDescending(x => x.ArriveDate).Take(100))
{
	OverLoadModel model = new OverLoadModel();
	model.OverloadRate = en.OverloadRate;
	lst.Add(model);
}

87. DateTime.Value.Year

–>学会转换思维,当A.Year 行不通的时候(A 为 DateTime? 类型),可以试试 B.Year。

if (query.Year.HasValue)
{
   item = item.Where(x => x.RecordTime.Value.Year == query.Year);
}

   item = item.Where(x => x.RecordTime.Value.Month == query.Month);
   item = item.Where(x => x.RecordTime.Value.Day == query.Day);

88. var 堆和栈


89. GroupBy 的用法

List<string> userName = data.GroupBy(x => x.RecorderName).Select(x => x.Key).ToList();

90. 将string字符串按,拆分并转成网络路径后存入list集合。

string.Split(',').Select(k => Common.FilePathTrans(k, strDirName, strPublishAddr)).ToList());

91. string.Join(“-”, z.Files)

string.Join(",", z.Files) //用,将z.Files中的每个string字符串拼接形成一个字符串

92. ToModel() 方法

public static ShipPortRiskInfoModel ToModel(this ShipPortRiskInfoEntity entity)
        {
            var m= entity.MapTo<ShipPortRiskInfoEntity, ShipPortRiskInfoModel>();
            if (entity.IPCJobId.HasValue)
                m.IsJob = true;
            else
                m.IsJob = false;
            return m;
        }
public static CaseInfoModel ToModel(this CaseInfoEntity entity)
        {
            var m = entity.MapTo<CaseInfoEntity, CaseInfoModel>();
            var result= m.ExcuteUserIds.Split(',').ToList();
            SysUserService userService = new SysUserService();
            var names = new List<string>();
            result.ForEach(x =>
            {
                var user = userService.GetEntity(x.ToInt().Value);
                if(user != null)
                    x = user.RealName;
                names.Add(x);
            });
            m.ExcuteUserName = string.Join(",", names) ;
            if (entity.IPCJobId.HasValue)
                m.IsJob = true;
            else
                m.IsJob = false;
            return m;
        }

93. entity

public class IndexEvaConfigEntity
    {
        public IndexEvaConfigEntity()
        {
            AssessName = string.Empty;
            Grade = string.Empty;
        }
        public int Id { get; set; }
        public string AssessName { get; set; }
        public string Grade { get; set; }
        [DecimalPrecision(12, 3)]
        public decimal MinValue { get; set; }
        [DecimalPrecision(12, 3)]
        public decimal MaxValue { get; set; }
        public string Color { get; set; }
        public int? Width { get; set; }
    }

94. LogHelper.LogInfo输出日志

string funcName = MethodBase.GetCurrentMethod().Name;
	LogHelper.LogInfo(JsonConvert.SerializeObject(grid), funcName);
 	LogHelper.LogInfo(JsonConvert.SerializeObject(model), funcName);
 	LogHelper.Debug(funcName + JsonConvert.SerializeObject(req));

95. lst.Select(Lambda)

var query = routeReposity.Table.Select(x => new {
                DeleteState = x.DeleteState,
                RouteCode = x.RouteCode,
                RouteCharacter = x.RouteCharacter,
                Id = x.Id,
                RouteName = x.RouteName,
                TechLevel = x.TechLevel,
                RouteLength = x.RouteLength,
                SourceData = x.SourceData
            });

96.

protected override IEnumerable<FileSystemConfigurationEntry> ProcessEntries(ICollection<FileSystemConfigurationEntry> entries)
        {
            entries.ForEach(
                e =>
                    {
                        Logger.Debug("Processing publisher configuration entry: {0}...", e.FileInfo.Name);

                        var configType = Type.GetType(e.Entry.ConfigurationType);
                        var config = Serialiser.FromJson(e.Entry.Data, configType);

                        if (IsDisabled(config))
                            return;

                        var name = Path.GetFileNameWithoutExtension(e.FileInfo.Name);
                        Container.RegisterInstance(configType, config, name);
                        FindAndExecuteBootstrappers(configType, config);
                        e.Entry.RequiredProperties.AddIfMissing(Tuple.Create(ConfigurationEntry.RequiredPropertyNames.NAME, name));

                        if (string.IsNullOrWhiteSpace(e.Entry.PluginType))
                            return;

                        var pluginType = Type.GetType(e.Entry.PluginType);
                        var pluginName = string.Format("{0}.{1}", pluginType.AssemblyQualifiedName, name);
                        Container.RegisterAsSingletonWithInterception<INotificationEventPublisher, IPublisherFilter>(
                            pluginType,
                            pluginName,
                            new Tuple<Type, string>(configType, name));
                    });

            return entries;
        }

97. whereLambda表达式初始值,类似于SQL语句的“where 1=1”

Expression<Func<UserEntity, bool>> whereLambda = x => x.Id > 0; //whereLambda表达式初始值,类似于SQL语句的“where 1=1”

98. string.IsNullOrEmpty()

if (!string.IsNullOrEmpty(queryModel.BtnName))
            {
                query = query.Where(x => x.BtnName.Contains(queryModel.BtnName));
            }

99. lst.ForEach(Lambda)

model.ForEach(x =>
            {
                sql = string.Format(@" -- 桥梁汇总
                                       select  0, convert(varchar(64), NEWID()) IsUnique , '桥梁'  Label, count(1) Number ,'qiaoliangguanli' ParentIcon,'#F89017' IconColor  from BMS_D_Bridge left join BMS_S_AssetType B on B.TypeName='桥梁'  {0}
                                       union 
                                       -- 隧道汇总
                                       select 1, convert(varchar(64), NEWID()) IsUnique, '隧道' Label, count(1) Number ,'suidaoguanli' ParentIcon,'#00A854'IconColor  from BMS_D_Tunnel left join BMS_S_AssetType B on B.TypeName='隧道'  {0}
                                       union
                                       -- 涵洞汇总  --暂时无此表
                                       select 2,convert(varchar(64), NEWID()) IsUnique, '涵洞' Label, count(1) Number ,'handongguanli' ParentIcon, '##00A854'IconColor from BMS_D_Tunnel
                                       union
                                       -- 大类汇总
                                       select 3,convert(varchar(64), NEWID()) IsUnique, A.TypeName Label, null as Number,A.Icon ParentIcon,IconColor  from  BMS_S_AssetMainType A where A.TypeName not like '%桥%' and A.TypeName not like '%隧%' and A.TypeName not like '%涵%' and SortCode>0", Important == 0 ? "" : "where B.IsCommonType=1");
                if (sql != string.Empty)
                {
                    x.children = dao.FindList<AssetChildrenModel>(sql);
                }
                // x.children = x.children.Where(xx => xx.Number != null &&  xx.Number > 0).ToList();
                sql = string.Empty;
                x.children.ForEach(y =>
                {
                    switch (y.Label)
                    {
                        case "桥梁":

                            sql = string.Format(@" select 'qiaoliangguanli' ParentIcon,'#00a953' IconColor, '一类' Label ,convert(varchar(64), NEWID()) IsUnique 
                                                    union 
                                                    select 'qiaoliangguanli' ParentIcon,'#1a8fff' IconColor, '二类' Label ,convert(varchar(64), NEWID()) IsUnique 
                                                    union 
                                                    select 'qiaoliangguanli' ParentIcon,'#ffc001' IconColor, '三类' Label ,convert(varchar(64), NEWID()) IsUnique 
                                                    union 
                                                    select 'qiaoliangguanli' ParentIcon,'#fa9e47' IconColor, '四类' Label ,convert(varchar(64), NEWID()) IsUnique 
                                                    union 
                                                    select 'qiaoliangguanli' ParentIcon,'#f04033' IconColor, '五类' Label ,convert(varchar(64), NEWID()) IsUnique ");

                            //sql = string.Format(@" select convert(varchar(64), NEWID()) IsUnique,'桥梁'  AssetType,  A.Id AssetId, BridgeName Label,NULL Number,CenterLon Lon,CenterLat Lat, 'dingwei3'  LeafIcon, 'qiaoliangguanli' ParentIcon , B.Id LayerId ,'#F89017' IconColor ,
                            //        (case when a.BridgeLevel in ('四类','五类') then 1 else 0 end) as State, (case when a.BridgeLevel in ('四类','五类') then 'shexiangtou' else '' end) as LeafIcon1 from BMS_D_Bridge  A left join YC_S_MapLayer B
                            //                                on B.LayerName='桥梁'  left join BMS_S_AssetType C on C.TypeName='桥梁' {0}", Important == 0 ? "" : "where C.IsCommonType = 1");
                            break;
                        case "隧道":
                            sql = string.Format(@" select convert(varchar(64), NEWID()) IsUnique,'隧道'  AssetType, A.Id AssetId ,TunnelName Label,NULL Number,ULon Lon,ULat Lat, 'dingwei3'  LeafIcon, 'suidaoguanli' ParentIcon , B.Id LayerId ,'#00A854' IconColor  from BMS_D_Tunnel  A left join YC_S_MapLayer B
                                                            on B.LayerName='隧道'   left join BMS_S_AssetType C on C.TypeName='隧道' {0}", Important == 0 ? "" : "where C.IsCommonType = 1");
                            break;
                        case "涵洞":
                            sql = string.Format(@" select convert(varchar(64), NEWID()) IsUnique ,'涵洞'  AssetType,0 AssetId, '涵洞' Label,NULL Number,null  Lon,null  Lat, 'dingwei3'  LeafIcon, 'handongguanli' ParentIcon ,'#F89017' IconColor ");
                            break;
                        default:
                            sql = string.Format(@" select  convert(varchar(64), NEWID()) IsUnique ,B.TypeName  AssetType,  B.TypeName Label,'' LeafIcon, B.Icon ParentIcon, count(1) Number, D.Id LayerId , B.IconColor from  BMS_S_AssetMainType A join BMS_S_AssetType B on A.Id=B.MainTypeId join BMS_D_AssetData C on A.id=C.MainTypeId and B.Id=C.TypeId
									               left join YC_S_MapLayer D ON B.TypeName=D.LayerName  where  C.deleteState=0 and  A.TypeName='{0}' {1} group by A.TypeName, B.Id ,B.TypeName,B.Icon,D.Id , B.IconColor", y.Label, Important == 0 ? "" : "and B.IsCommonType = 1");
                            break;
                    }
                    if (sql != string.Empty)
                    {
                        if (y.Label == "桥梁")
                        {
                            y.children = dao.FindList<ChildrenModel>(sql);

                            // 自定义排序
                            string[] BridgeLevelSort = new string[] { "一类", "二类", "三类", "四类", "五类" };
                            y.children = y.children.OrderBy(e =>
                            {
                                var index = Array.IndexOf(BridgeLevelSort, e.Label);
                                if (index != -1) return index;
                                else return int.MaxValue;
                            }).ToList();
                        }
                        else
                        {
                          y.children = dao.FindList<ChildrenModel>(sql);
                        }

                    }
                    // y.children = y.children.Where(yy => yy.Number > 0).ToList();

                    sql = string.Empty;

                    y.children.ForEach(o =>
                    {

                        sql = string.Format(@" select convert(varchar(64), NEWID()) IsUnique,'桥梁'  AssetType,  A.Id AssetId, BridgeName Label,NULL Number,CenterLon Lon,CenterLat Lat, 'dingwei3'  LeafIcon, 'qiaoliangguanli' ParentIcon , B.Id LayerId ,'{2}' IconColor ,
                                        (case when  d.CameraSerial is not null then 1 else 0 end) as State, (case when d.CameraSerial is not null then 'shexiangtou' else '' end) as LeafIcon1,(case when d.CameraSerial is not null then 'shexiangtou' else '' end) as strToken from BMS_D_Bridge  A left join YC_S_MapLayer B
                                                                on B.LayerName='桥梁'  left join BMS_S_AssetType C on C.TypeName='桥梁' left join BMS_D_AssetCameraInfo d on a.Id=d.AssetId where a.BridgeLevel='{0}' {1}", o.Label, Important == 0 ? "" : "and C.IsCommonType = 1", o.IconColor);

                        if (sql != string.Empty)
                        {
                            o.children = dao.FindList<ChildrenModel>(sql);

                        }

                        o.children.ForEach(z =>
                        {

                            sql = string.Format(@" select  A.Id AssetId, CenterLon Lon,CenterLat Lat,(case when d.CameraSerial is not null then 1 else 0 end) as State,(case when d.CameraSerial is not null then 'shexiangtou' else '' end) as LeafIcon1,(case when d.CameraSerial is not null then 'shexiangtou' else '' end) as strToken from BMS_D_Bridge A left join BMS_S_AssetType C on C.TypeName = '桥梁' left join BMS_D_AssetCameraInfo d on a.Id=d.AssetId {1} where A.Id={0} 
                                    ", z.AssetId, Important == 0 ? "" : "where C.IsCommonType = 1");
                            if (sql != string.Empty)
                            {
                                z.Palce = dao.FindList<PlaceModel>(sql);
                                z.Palce = z.Palce.Where(zz => zz.Lat.ToString().IndexOf(".") >= 0).ToList();
                            }
                        });
                    });

100. dao.Table.Any(Lambda)

dao.Table.Any(x => x.SourceId == entity.SourceId && x.SourceData == entity.SourceData)