我试图在T-SQL中创建一些脚本变量,如下所示:
/*
Deployment script for MesProduction_Preloaded_KLM_MesSap
*/
GO
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
SET NUMERIC_ROUNDABORT OFF;
GO
:setvar DatabaseName "MesProduction_Preloaded_KLM_MesSap"
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,我收到一条错误,指出'语法不正确':'.我究竟做错了什么?
我很好奇以下哪一项会更有效率?
我一直对使用有点谨慎,IN因为我相信SQL Server会将结果集转化为一个大的IF声明.对于大的结果集,这可能导致性能不佳.对于小结果集,我不确定是否更可取.对于大型结果集,EXISTS效率会不会更高?
WHERE EXISTS (SELECT * FROM Base WHERE bx.BoxID = Base.BoxID AND [Rank] = 2)
Run Code Online (Sandbox Code Playgroud)
与
WHERE bx.BoxID IN (SELECT BoxID FROM Base WHERE [Rank = 2])
Run Code Online (Sandbox Code Playgroud) 我想跟踪我的代码的性能,所以我使用了存储开始和结束时间System.DateTime.Now.我将两者之间的差异作为执行代码的时间.
我注意到差异似乎并不准确.所以我尝试使用一个Stopwatch对象.事实证明,这更加准确.
谁能告诉我为什么Stopwatch比计算开始和结束时间之间的差异更准确System.DateTime.Now?
顺便说一句,我不是说百分之十.我得到了大约15-20%的差异.
似乎至少有两种方法可以使用直接T-SQL添加默认约束.我是否正确,下面两者之间的唯一区别是第二种方法专门为约束创建一个名称,第一种方法有一个由SQL Server生成?
ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];
Run Code Online (Sandbox Code Playgroud) 我试图理解Bootstrap网格中推送和偏移之间的区别.例如,下面两行之间的唯一区别是每行中的第三列.一个使用推,另一个使用偏移.但是,它们都呈现完全相同.
<div class="row">
<div class="col-md-2">
<h2>Column 1</h2>
<p>
This is text for column 1
</p>
<p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301865">Learn more »</a></p>
</div>
<div class="col-md-2">
<h2>Column 2</h2>
<p>This is text for column 2</p>
<p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301866">Learn more »</a></p>
</div>
<div class="col-md-2 col-md-push-6">
<h2>Column 3</h2>
<p>This is text for column 3</p>
<p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301867">Learn more »</a></p>
</div>
</div>
<div class="row">
<div class="col-md-2">
<h2>Column 1</h2>
<p>
This is text for column 1
</p>
<p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301865">Learn more »</a></p>
</div>
<div …Run Code Online (Sandbox Code Playgroud) 假设我有一个看起来像这个简单示例的实体:
MyEntity
{
int property1;
int property2;
int property3;
}
Run Code Online (Sandbox Code Playgroud)
现在假设我IEnumerable列出了这些参与者.是否有可以执行的LINQ查询,它会property1为列表中的每个实体设置值为100?我知道我可以通过foreach做到这一点,但是想知道LINQ是否可以更优雅地做到这一点.
我有以下Automapper定义:
Mapper.CreateMap<IB.BusinessComponents.Data.LocationMaster, IB.Entites.Master.Location>();
Mapper.CreateMap<IB.BusinessComponents.Data.LocationMaster, IB.Entites.Master.Location>()
.ForMember(destination => destination.Id, source => source.MapFrom(item => item.LocationMasterID))
.ForMember(destination => destination.ChildLocationList, source => source.Ignore());
Run Code Online (Sandbox Code Playgroud)
当我映射单个对象时,这很好用.但我似乎无法传递对象列表.传入列表时是否需要不同的定义,或者不可能?
我正在构建一个Windows服务应用程序,其中包含存储在App.Config中的配置数据.但是,我注意到在构建应用程序时会生成AppName.Exe.Config.
有人能告诉我这两个文件之间的关系吗?AppName.Exe.Config文件是我用我的Windows服务应用程序而不是app.config安装的吗?
谢谢 - 兰迪
我有下面显示的方法生成CA1822代码分析警告.CA1822说:
"The 'this parameter (or 'Me' in Visual Basic) of 'ImportForm.ProcessFile(StreamReader)' is never used. Mark the member as static (or Shared in Visual Basic) or use 'this/Me' in the method body or at least one property accessor, if appropriate."
任何人都可以告诉我为什么我收到此警告,因为"读者"参数实际上正在使用?
private void ProcessFile(StreamReader reader)
{
string[] lines;
lines = reader.ReadToEnd().Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
ParseFile.IVAFile(lines);
}
Run Code Online (Sandbox Code Playgroud) 我们有一个数据库,并已决定启用它以供FileStream使用.我想除了创建一个FileStream数据容器之外,我已经做了我应该做的一切.我似乎无法在现有数据库的SSMS 2008中找到这样做的方法.这只能在创建数据库时完成吗?
sql-server ×4
c# ×3
sql ×2
t-sql ×2
.net ×1
automapper ×1
css ×1
datetime ×1
exists ×1
linq ×1
performance ×1
sql-in ×1
stopwatch ×1
timing ×1