小编joe*_*yth的帖子

kusto 中的多个 where 子句与“and”

就性能而言,是以下查询

ResourceEvents
| where ResourceType == "Foo" and EventType == "Bar"
Run Code Online (Sandbox Code Playgroud)

几乎与

ResourceEvents
| where ResourceType == "Foo"
| where EventType == "Bar"
Run Code Online (Sandbox Code Playgroud)

或者记录是否按顺序过滤,执行两次搜索而不是组合一次?

kql azure-data-explorer

9
推荐指数
2
解决办法
5476
查看次数

使用以下格式转换datetime字符串:(yyyy-MM-dd'T'hh:mm:ss-zzz)

我收到一个JSON字符串,其中包含一个如下所示的日期:2015-07-09T08:38:49-07:00最后一部分是时区.有没有标准的方法将其转换为DateTimeOffset

这是我到目前为止:

var olu = JsonConvert.DeserializeObject<OneLoginUser>(jToken.ToString(), new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd'T'HH:mm:sszzz" });
Run Code Online (Sandbox Code Playgroud)

这不会反转任何日期.我已经尝试使用-Zhh:mm时区数据,但我似乎无法反序列化任何日期.

作为参考,这是来自一个SSO提供商OneLogin.这是用户文档的链接.注意关于顶部日期的位.

c# datetime json.net

6
推荐指数
1
解决办法
2万
查看次数

使用 LINQ 在列表中查找顶级父级

我有一个包含 ID 和 ParentID 的用户定义对象列表。该列表看起来像这样。

ParentID     ID
  123        345
  123        456
  456        567
  456        678
  678        789
Run Code Online (Sandbox Code Playgroud)

我需要一个 LINQ 语句来查找顶级父级;也就是说,ParentID 不作为 ID 存在的所有对象(在本例中,只有 123 个)。

这是我到目前为止所拥有的,它返回了 567,678,789。

parentList = baseList.Where(b => !baseList.Select(o => o.ParentID).Distinct().Contains(b.ID)).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq

3
推荐指数
1
解决办法
1963
查看次数

选择当前年份的特定日期

我有一个需要选择的查询{current year}-05-31 00:00:000.有没有办法,我可以做到这一点,而不只是把年份连接到那个字符串?

这是我当前的查询:

SELECT DATEADD(dd, 30, DATEADD(mm, 4, DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server-2008-r2

2
推荐指数
1
解决办法
2132
查看次数

根据属性类型动态转换对象

我有一个要从HTTP帖子中的JSON字符串反序列化的JObject,它表示一个自定义对象Adjuster。

然后,我将该对象与数据库中已存在的对象合并以创建更新的对象。我通过反射遍历属性并在属性名称匹配的地方分配它们来做到这一点。

我的问题是无法将JValue隐式转换为目标类型,我必须手动将其转换。有没有一种方法可以动态转换对象?我可以得到将需要转换为的类型。

这是我的模型活页夹:

  public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
    {
        JObject jsonObj = JsonConvert.DeserializeObject(actionContext.Request.Content.ReadAsStringAsync().Result) as JObject;

        Adjuster dbAdjuster = new Adjuster();
        Type adjType = dbAdjuster.GetType();
        PropertyInfo[] props = adjType.GetProperties();

        dbAdjuster = AdjusterFactory.GetAdjuster(Convert.ToInt32(jsonObj["ID"].ToString()));

        foreach (var prop in jsonObj.Properties() )
        {
            foreach (PropertyInfo info in props)
            {
                if (prop.Name == info.Name && prop.Name != "ID")
                {
                    if (info.GetValue(dbAdjuster) is string)
                    {
                        info.SetValue(dbAdjuster, Convert.ToString(prop.Value));
                        break;
                    }
                    //continue for every type
                }
                else
                {
                    break;
                }

            }
        }

        bindingContext.Model = dbAdjuster; …
Run Code Online (Sandbox Code Playgroud)

c#

0
推荐指数
1
解决办法
1261
查看次数