小编Dev*_*ebs的帖子

DapperExtensions 和 Dapper.Contrib 与非 dbo 架构

我正在使用 DapperExtensions v4.0.30319,我试图让 Dapper.Contrib 知道我的架构不是 DBO。我提供了:

public class EngineMapper : ClassMapper<Engine>
{
    public EngineMapper() : base()
    {
        Schema("vehicles");
    }
}
Run Code Online (Sandbox Code Playgroud)

我从 DapperExtensions 文档(https://github.com/tmsmith/Dapper-Extensions/wiki/Customized-mapping-for-a-class)中了解到,将使用反射自动找到此类?

但我也尝试明确使用:

DapperExtensions.DapperExtensions.DefaultMapper = typeof(EngineMapper);
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,当我使用 Dapper.Contrib 时:

SqlConnection.Insert(new Engine());
Run Code Online (Sandbox Code Playgroud)

结果插入语句没有指定任何模式。

如何使用 Dapper.Contrib 执行插入(或更新等),其中它使用我指定的表模式?

dapper-extensions

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

SQL Server 索引中有两列,但只查询一列

在遗留代码中我发现了一个索引如下:

CREATE CLUSTERED INDEX ix_MyTable_foo ON MyTable
(
    id ASC,
    name ASC
)
Run Code Online (Sandbox Code Playgroud)

id如果我理解正确,该索引对于单独查询列或id和很有用name。我说的对吗?

因此,它可能会通过执行以下操作来改进记录检索:

select someColumn from MyTable where id = 4
Run Code Online (Sandbox Code Playgroud)

但它对这个查询没有任何作用:

select someColumn from MyTable where name = 'test'
Run Code Online (Sandbox Code Playgroud)

sql sql-server indices

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

C#(.NET 4.5)应用程序是否出现在Windows的"任务管理器"中?

C#控制台应用程序是否出现在任务管理器中?

我试图让它出现,发布者和进程名称列是我所期望的.

在我的AssemblyInfo.cs中,我做到了这一点:

[assembly: AssemblyTitle("Test Title")]
[assembly: AssemblyDescription("Test Desc")]
[assembly: AssemblyCompany("Test Company")]
[assembly: AssemblyProduct("Test Product")]
Run Code Online (Sandbox Code Playgroud)

但是当我的控制台应用程序正在运行时(作为当前用户从命令行运行)我在任务管理器的进程或详细信息选项卡(Windows 10)中看不到任何这些值.

我知道如果我创建一个WinForms项目,我可以按照我在任务管理器中的预期填充列.

编辑:我的目标是查看其二进制文件由我的公司创建的所有进程.任务管理器的"详细信息"选项卡显示应用程序文件名(不带扩展名)作为描述,并且没有公司/发布者的选项卡(右键单击标题并选择"选择列"没有发布者选项.

"进程"选项卡确实显示了预期的发布者,但它没有可用的"描述"列,如果从命令提示符运行该程序,则需要首先在"任务管理器"中展开正确的Windows命令处理器记录.

c#

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

参数@objname不明确或声明的@objtype (INDEX)错误

使用 SQL Server 2016,当我运行此命令时:

SELECT * 
FROM sys.indexes 
WHERE name = 'idx_Parts_PartNum'
Run Code Online (Sandbox Code Playgroud)

有一个结果。正如预期的那样。但是当我在同一个数据库上运行时:

    exec sp_rename N'idx_Parts_PartNum', N'ux_Parts_PartNum', N'INDEX'
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

参数@objname 不明确或声明的@objtype (INDEX) 错误。

如果第一个查询显示该索引名称是正确的,什么会导致此错误?

我用谷歌搜索没有运气。我的索引名称不包含无效字符或保留字。

注意:这是作为唯一索引创建的,而不是唯一约束。

我可以使用 SQL Server Management Studio 重命名索引,不会出现错误。

sql-server sql-server-2016

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

如何使用复合键在SQL Server中执行参照完整性?

当我运行底部看到的SQL时,为什么会返回:

消息1776,级别16,状态0,行2
在引用的表'pricedex.table_a'中没有与外键'FK_delete_from_parent'中的引用列列表匹配的主键或候选键.

消息1750,级别16,状态0,行2
无法创建约束.查看以前的错误.

码:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE table_a 
(
    [column_1] [int] NULL,
    [column_2] [int] NULL
)

CREATE TABLE table_b 
(
    [column_1] [int] NULL,
    [column_2] [int] NULL
)

GO

CREATE NONCLUSTERED INDEX IX_app ON table_a (column_1, column_2)
GO

CREATE NONCLUSTERED INDEX IX_app ON table_b (column_1, column_2)
GO

SET ANSI_PADDING OFF
GO

ALTER TABLE table_b WITH CHECK
ADD CONSTRAINT FK_delete_from_parent 
    FOREIGN KEY (column_1, column_2) REFERENCES table_a (column_1, column_2) 
       ON …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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