我正在使用 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 执行插入(或更新等),其中它使用我指定的表模式?
在遗留代码中我发现了一个索引如下:
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) 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命令处理器记录.
使用 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时,为什么会返回:
消息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)