小编use*_*861的帖子

为什么我的SQL Server列似乎没有默认值,即使它像它一样?

我有一个SQL Server表,其中有四列,其中一列是datetime列,默认值为getdate().我有两个这个表的副本,一个在我完全控制的开发数据库服务器中,另一个在生产数据库服务器中,我几乎没有权限.

以下是开发表的外观:

在此输入图像描述

我选择了dtInsert列.请注意,此列的默认值为getdate().我对此表的生产版本完全相同.当我向该表添加一行时,dtInsert单元格默getdate()认为我期望的那样.当数据库管理员生成生产表的脚本时,它包含默认值约束.但是,当我在SQL Server Management Studio 2012中查看表设计时,它会将列显示为没有默认值.看这里:

在此输入图像描述

当我生成数据库图表时,它还会将dtInsert列显示为没有默认值.同样,我从测试中知道我的生产数据库服务器中的dtinsert列确实默认为getdate().

这是SQL Server Management Studio 2012版中的错误吗?是否有一些我没有的权限会导致这种行为?还有别的吗?为什么列看起来没有默认值,即使它确实如此?

sql-server default-value ssms-2012

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

在记录消息时,如何设置Serilog在SQL Server中调用存储过程?

在记录消息时,如何设置Serilog在SQL Server中调用存储过程?我看到如何使用MS SQL Server接收器将消息直接存储在数据库表中,但我想调用存储过程.

sql-server serilog

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

为什么WPF Grid.Rows从零开始,而不是相对?

如果我有一个包含五行的网格,Grid.Row值总是0,1,2,3和4.如果,在设计时,我想在第一行之后插入一行,我将设置它的Grid.Row值为1,但是我需要更新插入行下面四行的Grid.Row值.这很烦人且容易出错.

相反,如果Grid.Row值类似于相对(我不知道描述这个的最佳词),我会将Grid.Row值设置为10,20,30,40和50.在这种情况下,如果我想在第一行之后插入一行,我将其Grid.Row值设置为15.我不需要更改任何其他行.布局引擎会知道按行升序排列.是否有某些原因导致Grid.Row值不以这种方式运行?

HTML Z-Index值的工作方式如下

wpf grid

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

如何在F#中的复合类型中覆盖ToString?

我正在学习在F#中创建复合*类型,我遇到了一个问题.我有这种类型和ToString覆盖.

type MyType =
    | Bool of bool
    | Int of int
    | Str of string
    with override this.ToString() =
            match this with
            | Bool -> if this then "I'm True" else "I'm False"
            | Int -> base.ToString()
            | Str -> this

let c = Bool(false)
printfn "%A" c
Run Code Online (Sandbox Code Playgroud)

我在ToString覆盖中得到一个错误,说明"此构造函数应用于0参数但预期为1".我很确定这段代码不能编译,但它显示了我正在尝试做的事情.当我注释掉覆盖并运行代码时,c打印出"val c:MyType = Bool false".当我进入该代码时,我看到c的属性Item设置为布尔值false.我似乎无法在代码中访问此属性.即使我注释也没有c.

在这种情况下,我应该如何重写ToString?

*我很确定这些被称为复合类型.

f# overriding composite-types

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

如何在 Jenkins 文件中声明多个代理,然后在后续阶段引用它们?

我正在尝试运行一个包含多个代理的 jenkins 文件,但遇到了错误。这是我的詹金斯文件的片段:

pipeline {
    agent {
        docker {
            label 'agentAAA'
            ...
        }
        node {
            label 'agentBBB'
            ...
        }
    }
    ...
    stages {
        stage('to run on AAA') {
            agent {
                label 'agentAAA'
            }
            ...
        }
        stage('to run on BBB') {
            agent {
                label 'agentBBB'
            }
            ...
        }
        stage('to run on BBB') {
            agent {
                label 'agentBBB'
            }
            ...
        }
Run Code Online (Sandbox Code Playgroud)

我收到这些错误:

  • 每个代理部分仅允许一种代理类型
  • 未指定代理类型。必须是 [any、docker、dockerfile、label、none] 之一

我在文档中找不到任何有关如何引用先前声明的代理的示例。我了解如何在每个单独的阶段声明代理,但最终我的文件中会出现许多重复的声明。

jenkins jenkins-pipeline jenkins-declarative-pipeline

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

如何同时运行多个behavior+python测试而不出现错误?

我有一个 python Web 应用程序,它使用Behavior 进行行为测试。我有 5 个 *.feature 文件,当我在本地和我们的 Jenkins 构建服务器上运行它们时,每个文件都需要几分钟才能运行。我想并行运行这五个文件而不是顺序运行以节省时间。我可以在本地执行此操作,但不能在我的构建服务器上执行此操作。详细信息如下:

在 Windows 上本地运行:

  • 我可以使用以下命令在单独的命令窗口中运行所有 5 个文件:
    • behave.exe --include "file_01.feature"
    • behave.exe --include "file_02.feature"
    • behave.exe --include "file_03.feature"
    • behave.exe --include "file_04.feature"
    • behave.exe --include "file_05.feature"
  • 我还可以运行一个 python 脚本,使用相同的命令启动 5 个独立的进程。
  • 这两个都有效,我没有问题

构建服务器在 Linux 上运行:

  • 当我尝试使用类似的命令运行所有五个文件时,某些行为场景会出现错误。错误是以下三个之一:

    • 消息:未知错误:无法确定断开连接的加载状态:无法从渲染器接收消息
    • 消息:无法访问 chrome
    • 消息:没有这样的会话
  • 抛出这些错误的行为场景似乎随着每次测试运行而改变。

  • 奇怪的是,如果我将 5 个 *.feature 文件重新排列为 3 个,它就可以工作。但这并不是一个理想的解决方案。我们的应用程序正在增长。随着它的增长,我们将拥有更多的功能文件。

我怀疑在运行行为测试中 Chrome 驱动程序之间存在一些共享资源,但我不确定。我无法解释为什么这在本地适用于我,但在我的构建服务器上却不起作用。我也无法解释为什么 3 个文件可以工作,但 5 个文件就不行。

在尝试同时运行多个行为测试时,有人看到过这样的错误吗?或者你知道我应该寻找什么吗?我的项目足够大,很难将我的问题的最小示例放在一起。这就是为什么我没有发布任何代码。我只是想知道我应该寻找什么,因为我不知所措。

linux selenium jenkins selenium-chromedriver python-behave

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

为什么我的克隆代码没有编译?

我有这个简单的克隆接口,我想使用它.它看起来应该编译,但事实并非如此.我收到一条消息,说我的BObject班级没有实施DeepClone().我不明白这个,因为我有一个DeepClone()方法,我的BObject实现 IObject.

interface IDeepCloneable<T>
{
    T DeepClone();
}

interface IObject : IDeepCloneable<IObject>
{
    string Name { get; }
    double Sales { get; }
}

//'BObject' does not implement interface member
//  'IDeepCloneable<IObject>.DeepClone()'
class BObject : IObject
{
    public string Name { get; set; }
    public double Sales { get; set; }

    public BObject DeepClone()
    {
        return new BObject() { Name = this.Name, Sales = this.Sales };
    }
}
Run Code Online (Sandbox Code Playgroud)

我声明我的界面错了吗?


或许可以 …

c# clone interface

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

如何使用 Junit 在 Jenkins 中显示 Angular Lint 输出?

如何在 Jenkins 中显示“npm lint”结果?我知道如何在 Jenkins 中显示“pytest”结果:

  1. 像这样运行 pytest: pytest --junitxml=./path/to/pytestFile.xml ./path/to/code
  2. 运行这个 Jenkins 命令: junit testResults: "./path/to/pytestFile.xml"

一旦我这样做了,我的测试结果就会出现在 Jenkins 的“测试结果”窗口中。我想对我的 angular lint 结果做类似的事情。我尝试这样做,但没有用:

  1. 像这样运行 linter: npm lint --junitxml=./path/to/lintFile.xml
  2. 运行这个 Jenkins 命令: junit testResults: "./path/to/lintFile.xml"

问题是 npm 没有 --junitxml 开关。我怎样才能做到这一点?我正在使用 Jenkins 声明式管道。

junit lint jenkins angular-cli jenkins-declarative-pipeline

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

如何将Javascript地图功能与对象文字一起使用?

我在写一些Javascript代码时遇到了问题.我正在尝试使用map函数来创建一个新数组.这是我的代码:

[1,2,3].map(m => {'id': m})
Run Code Online (Sandbox Code Playgroud)

我预计结果会是:

[
    {'id': 1},
    {'id': 2},
    {'id': 3}
]
Run Code Online (Sandbox Code Playgroud)

相反,我得到一个错误,上面写着"Uncaught SyntaxError:Unexpected token:"

有人能告诉我我做错了什么吗?

javascript

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

为什么我不需要在C#中指定类型参数?

我有一个带泛型类型参数的函数.这很简单:

private static void Run<T>(IList<T> arg)
{
    foreach (var item in arg)
    {
        Console.WriteLine(item);
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现我可以在不指定type参数的情况下调用此函数:

static void Main(string[] args)
{
    var list = new List<int> { 1, 2, 3, 4, 5 };

    //both of the following calls do the same thing
    Run(list);
    Run<int>(list);

    Console.ReadLine();
}
Run Code Online (Sandbox Code Playgroud)

这编译并运行得很好.为什么这没有指定类型参数?代码如何知道这T是一个int?这有名字吗?

c# generic-type-argument

0
推荐指数
2
解决办法
301
查看次数

在Linq中,为什么ToList()不采用可选的谓词参数来过滤项目?

是否有理由Linq库中的ToList方法不提供可选的谓词参数,该参数在生成新列表之前过滤集合?此类呼叫的签名将是:

//---------------------------------VVVVVV
public static IEnumerable<TSource> ToList<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
Run Code Online (Sandbox Code Playgroud)

这样,这两个Count调用具有相同的效果:

var c1 = items.Where(i => i > 2).Count();
var c2 = items.Count(i => i > 2);
Run Code Online (Sandbox Code Playgroud)

这两个ToList调用会产生相同的效果:

var list1 = items.Where(i => i > 2).ToList();
var list2 = items.ToList(i => i > 2);
Run Code Online (Sandbox Code Playgroud)

我想知道这是否是故意遗漏的.

编辑:对于那些以观点为基础投票暂停投票的人,我不是在寻找基于意见的答案.我想知道它是否曾经由设计师专门解决过. 这是设计师解释为什么C#没有顶级方法.我想知道是否有类似的东西.

c# linq

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