小编Rei*_*l--的帖子

SELECT*FROM(VALUES(x,y))的名称AS TableLiteral(Col1,Col2)

以下是有效的SQL语法:

SELECT *
    FROM (VALUES ('p','q'),('x','y')) AS TableLiteral(Col1, Col2)
Run Code Online (Sandbox Code Playgroud)

并返回表:

  | Col1 | Col2
----------------
1 |  p   |  q
2 |  x   |  y
Run Code Online (Sandbox Code Playgroud)

这种语法可以进一步用于CTE等.

这有名字吗?我一直称它们为"TableLiterals",类似于字符串文字和正则表达式文字.

是否有一个将被广泛认可的术语.

t-sql sql-server terminology

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

我可以使用Moq集成在UnitTests中访问Autofac的全部功能吗?

我的项目(这恰好建在上面果园,虽然我不认为这是相关的)使用Autofac.我正在编写单元测试,我希望使用Moq来删除任何依赖项,并且我正在使用Autofac/Moq集成来实现这一点.

这适用于作为构造函数参数传递的任何简单依赖项.(Autofac文档提供了如何实现这一细节在这里).

但是因为我没有容器,所以我看不到如何使用很多Autofac的功能 - lamda注册,注册泛型,标记要自动连接的属性.等等

  • 我错了,它可以以某种方式访问​​?
  • 由于场景的一些固有约束,这些东西是不可用的吗?
  • 是否有可能,尚未在此Autofac/Moq集成中实现(尚未)?
  • 有好的工作吗?

c# unit-testing moq mocking autofac

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

将我的 Nuget 自述文件包含在我的 Nuget 包中

我维护一些小的 Nuget 包。

我在 git 存储库中有一个 Nuget README 文件,该.nupkg文件是由 VS 根据存储在文件中的“Package”配置自动构建的.csproj

每当我需要发布包的新版本时,我都会.nupkg在 Web UI 中将文件上传到 nuget,然后它会要求我提供任何文档,此时我必须手动上传 README 文件。

有什么方法可以将该 README 文件放入其中.nupkg这样我就不必每次都手动上传它?

nuget nuget-package

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

SlowCheetah 没有为 EntityFramework 迁移进行转换

我使用EF代码优先迁移: https://msdn.microsoft.com/en-us/data/jj591621.aspx add-migrationupdate-database等全部由包管理器控制台VS.叫

我还使用 SlowCheetah 来管理我们拥有的各种环境,特别是包括管理每个开发人员都有自己的数据库副本这一事实,以便他们可以更新他们的模型更改,而无需将其他人锁定在数据库之外。因此,更改的配置值之一是目标数据库名称。

(出于我不会介绍的原因,我们不使用connectionStrings .config此类设置,而是将 DB 名称放在appSettings块中)

我的包含模型和迁移的TheCustomer.Database项目是项目。

如果我手动更改 中的appSettingTheCustomer.Database/app.config并运行迁移,它会正确使用配置值 - 所以配置基本上是有效的。

但是如果我设置一个 SlowCheetah 转换来修改给定构建配置的值,选择该配置,重建代码,然后运行迁移,那么它不会应用转换;它使用 base 中的值app.config,而不是app.SelectBuildConfig.config

SlowCheetah 总体上运行良好 - 当我运行 sln 来获取网站时,它使用了由 VS Build Config 确定的正确 Db。

有什么想法吗?

编辑:

配置文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>

    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --></configSections>
  <appSettings>
    <add key="DbName" value="This Default …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework slowcheetah

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

我可以保证非ref方法不会改变数组大小C#

也可以看看:

这两个问题都有所不同,因为他们会问你如何改变尺寸,我很清楚答案是:"不要......使用清单".他们还引用了基于ref的Array.Resize(ref array, int size).

我的问题是:

鉴于我有一个单片遗留代码库,我不可能检查整个代码库,并且无法保证它的作用,...如果我有一个非-re-ref数组中的调用方法传递,我可以保证之后数组的大小不变.

Array.Resize不是一个问题,因为by-ref-ness必须通过调用堆栈一直向上传递,显然它没有.

但是还有其他可能的问题吗?

备注不是重复

我认为这是与其他人不同的问题,因为这是"有可能吗?" 而不是"我怎么做/什么是最好的方式".因此,答案将是邪恶和错误的,后者将不会提及,仍然与我的问题相关.

c# arrays

5
推荐指数
2
解决办法
162
查看次数

如何解释 nuget 下载统计信息 / 如何知道我的包的使用范围有多广?

我有一个小的 nuget 包EnumStringValues,插头,插头,插头)

在 nuget 页面上我可以看到“下载统计信息”。

这个数字是什么意思?计数器何时可能增加的一些可能性:

  • 任何时候有人运行 Nuget Restore(包括 Jenkins)?
  • 任何时候有人在特定计算机上首次运行 Nuget Restore 时?
  • 任何时候有人真正将 nuget 安装到项目中?

有没有任何文件说明这些数字的实际含义?

鉴于第三个选项是唯一真正有趣的选项(这个包的使用范围有多大),有什么方法可以衡量“下载统计信息”是否执行其他选项之一?

open-source nuget

5
推荐指数
2
解决办法
1568
查看次数

有没有办法预测 `Marshal.GetExceptionForHR(code, pointers)` 会抛出 `AccessViolationException`

我有一系列相互关联的问题。我想独立地知道所有这些问题的答案,所以*是的*,其中一些似乎是 XY 问题;但我确实想知道他们的解决方案!请参阅问题结尾以获取此集中其他问题的列表。


我有一种情况,调用Marshal.GetExceptionForHR(code, pointers)会抛出一个AccessViolationException.

显然这是一个非常糟糕的事情。太糟糕了,try...catch只是对我耸了耸肩,然后四处游荡……我不知道这是一件事:(

假设一个前提是“.GetExceptionForHR()我想做的是打电话”(请参阅​​其他问题以讨论这是否是一个好主意!)。

进一步假设AccessViolation在某些情况下导致 的任何原因都是不可避免的。

鉴于这些前提,有没有办法提前预测调用它们的方法会爆炸?一些等价物TryGetExceptionForHR()将返回false而不是炸毁我的整个程序。


此问题集中的其他问题。

c# exception marshalling access-violation

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

如何部署具有已知(和可接受的)数据丢失情况的 DACPAC 版本

我正在通过 Azure DevOps 中的 DACPAC 版本管理 SQL Server 数据库。我的项目目前正在开发中,但我预计在产品上线后开发会继续进行。

默认情况下,如果即将发生数据丢失,尤其是在 Prod 中,我将发布配置设置为 b0rk - 大多数更改不应导致它,而且我的直觉是,总体数据丢失更有可能表明存在错误,而不是错误故意放弃数据。

但自然地,我预计在某些情况下迁移会故意丢弃数据,这是预期的并且可以接受。


我希望以一种可控且稳健的方式来设置 DevOps,以便我能够实现这一目标。实现这一目标的最佳方法是什么?

我的理想本质上是“是的,部署这个版本……是的,我知道这会导致数据丢失,没关系。”

我有一个想法,我会将其作为答案发布。但我正在寻找其他想法,或任何“标准”或“官方”方法。(或者只是更好的想法:D)

database-migration dacpac azure-devops azure-pipelines-release-pipeline

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

Visual Studio NugetPackageManager 界面中的“版本”列有何意义?(与“已安装”列不同)

在此输入图像描述

“已安装”列已填充,但“版本”列未填充。

“版本”栏是什么意思?(与“已安装”列不同)

(我熟悉语义版本的概念;所以我确切地知道版本号的概念对于 nuget 包意味着什么。我想知道该界面中的列到底意味着什么。)


关于空白的后续问题就到这里了

.net nuget .net-core manage-nuget-packages visual-studio-2019

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

C# 控制台应用程序:有没有办法检测 exe 是否从命令行运行?

如果我Program.exe从现有的命令行窗口运行,那么当它完成并退出时,控制台输出仍然存在并且可见。

如果我双击 my Program.exe,那么它将打开一个新的命令行窗口,用于控制台输出...但是当我的 exe 完成时,该窗口将关闭,并带走输出。

在后一种情况下,为了防止输出日志丢失,我可能想要我的Main()be的最后两行Console.WriteLine("Press any key to exit"); Console.ReadKey();

但如果我在前一种情况下这样做,那就有点烦人了。

有什么方法可以检测这两种情况之间的差异,以便我可以有条件地“等待用户说我可以关闭”......仅在必要时?

c# console-application execution

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