小编Jon*_*vis的帖子

如何在ADO.NET + SQL Server DateTime列的生命周期中处理时区?

使用SQL Server 2008.这是一个非常初级的问题,我可以真正使用一些精心设计的信息,但谷歌上的信息似乎相当多地围绕这个主题跳舞,如果有一些详细的说明如何工作将会很好. ..

假设我有一个datetime列,在ADO.NET中我将它设置为DateTime.UtcNow.

1)SQL Server是否相应地存储DateTime.UtcNow,还是根据服务器安装位置的时区再次对其进行偏移,然后在查询时将其返回偏移?我想我知道答案是"当然它存储它而不会再次抵消它"但是想要确定.

然后我查询它并将它从对象转换为DateTime,然后从IDataReader列获取它.据我所知,System.DateTime具有内部跟踪它是UTC日期时间还是偏移的DateTime的元数据,这可能会也可能不会导致.ToLocalTime()和.ToUniversalTime()具有不同的行为,具体取决于此状态.所以,

2)这个转换的System.DateTime对象是否已经知道它是一个UTC DateTime实例,还是假设它已经被偏移?


现在让我说我不使用UtcNow,我在执行ADO.NET INSERT或UPDATE时使用DateTime.Now.

3)ADO.NET是否将偏移量传递给SQL Server,SQL Server是否存储了带偏移量元数据的DateTime.Now?

然后我查询它并将其从IDataReader列转换为DateTime.

4)这个铸造的System.DateTime对象是否已经知道它是一个偏移时间,还是假设它是UTC?

sql-server ado.net datetime utc sql-server-2008

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

如何优化获取/设置属性修饰属性的性能?

在C#中,我用属性标记了一些类的属性,并且我使用反射来查找这些属性,以便对它们执行获取和设置.然而,我发现以这种方式获得/设置反射大约是POCO获取/设置的10倍.除了放弃上述基本场景以使用替代技术之外,是否有任何记录的技巧可以使这种性能显着提升,例如某种缓存技术?

c# reflection

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

在C#EF中,Where(o => o.Equals(x))是否被视为客户端函数?

遇到代码.Where(o => o.x == y)已更改为.Where(o => o.x.Equals(y)).我知道==EF的SQL生成器解析了它在服务器上执行,但不确定.Equals().很明显,这种改变是习惯性的,可能是某人从C++背景出来而没有考虑==将被解析为表达式而不是作为函数执行的事实,并且将被转换为SQL.这个改变编译并运行,但我想知道是否因为EF将其视为Func而不是表达式,因此可能执行通用查询并将过滤器移动到客户端,或类似的荒谬.

c# linq entity-framework

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

在连接表中筛选具有X或至少X或最多X的ID的最佳T-SQL语法是什么?

在T-SQL中做这样的事情的最佳方法是什么?

SELECT DISTINCT ID
FROM Members,
INNER JOIN Comments ON Members.MemberId = Comments.MemberId
WHERE COUNT(Comments.CommentId) > 100
Run Code Online (Sandbox Code Playgroud)

试图让评论超过100次的成员.这显然是无效的代码但是写这个的最好方法是什么?

t-sql filtering join count filter

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

在ASP.NET MVC视图中包含脚本引用的最佳方法是什么?

如您所知,ASP.NET MVC将视图标记存储在Views目录中,该目录在层次结构上与ASP.NET MVC Web应用程序中使用的URL路由不兼容.另一方面,在ASP.NET Web Forms(以及ASP.NET MVC中)中,URL可以并且通常具有嵌套的"目录",或者更确切地说是路径分隔符,这与Web应用程序通常不具备的事实相结合托管在URL的根路径中,而不是在子目录中,即"/ stuff/here/MyActualApp",有必要使用相对于应用程序根目录的脚本路径,而不是相对于URL的根目录.但是,同时,Visual Studio脚本intellisense指示URL相对于正在编辑的文件进行映射.

此外,我遇到了很多问题,使用runat ="server"虚拟化根路径以支持"〜/",例如头标记也需要runat ="server",这引入了各种其他约束.

最后,还有一件事:如果除了智能感知功能之外还引用了像jQuery这样的脚本的缩小风格,Visual Studio将会对此不予理睬.因此,您几乎必须使用转义代码来防止VS无法进行操作.

自从VS 2005以来,我一直在Visual Studio 2010中使用这种语法或其变体,以便在我的ASP.NET视图标记中包含脚本来处理ASP.NET MVC视图文件的嵌套文件夹的不一致(它们不行使用实际的URL)以及使用jQuery的vsdoc风格而不是缩小版本的需要,以便我得到intellisense工作.

<%if (false) { %>
<script src="../../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<% } %>
<%= "<script type=\"text/javascript\"" src=\"" 
  + ResolveUrl("~/Scripts/jquery-1.4.1.min.js") + "\"></script>"%>
Run Code Online (Sandbox Code Playgroud)

除了使用CDN URL之外,还有比这更好的方法吗?它很丑.我希望微软现在可以解决这个问题,而不需要使用ScriptManager标签(这需要服务器端表单以及使标记更加冗长).

注意:我的问题不在于Intellisense支持,而是上面代码中的最后一行,必须发出一行而不是仅使用真正的标记.但是,我也想要intellisense支持准备.

javascript asp.net-mvc markup

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

ASP.NET AJAX 4.0中的客户端模板是否完全被删除,支持jQuery Templates插件?

认为 Microsoft从AJAX Toolkit中删除了客户端模板,转而使用jQuery Templates插件.我试图找到这一点,除了一些"会做"的博客文章的完整文档,如这一个我无法找到除了@#$%东西-从预览/β虚假,过时的文档和杂志文章的负载几天的ASP.NET AJAX 4.0.

任何人都可以确认ASP.NET AJAX 4.0客户端模板功能实际上是正式的jQuery模板,并且在当前的Microsoft库中对于客户端模板绝对没有Sys.*等价物吗?

asp.net-ajax ajaxcontroltoolkit client-templates

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

Mercurial:如何在签入后更改变更集摘要?

可能重复:
使用TortoiseHg提交后是否可以编辑摘要?

在Mercurial中,如果我忘记在签入摘要中包含缺陷#,除了调整平面文件并签入后续变更集以便对之前的变更集进行评论之外,如何更改先前签入变更集的摘要报到?

使用TortoiseHG.

mercurial tortoisehg

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

什么是"Calli"一词的语义推断或含义?

我在代码的各个地方都看过这个术语,比如图形编程样本.它似乎是一个C++语义,但显然有一个名为EmitCalli的C#/ .NET托管实现似乎与OpCodes.Calli有关.我认为这是一种机器语言指令.这个术语的解释是否与外行人的术语有些接近?

c# il opcode opcodes

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