小编bdu*_*kes的帖子

在SQL Server中存储旧日期的最佳方法

在SQL Server 2005中存储旧日期(1753之前)的最佳/最有效方法是什么?我不关心存储时间 - 只是日期.SQL Server的日期时间数据类型只能保存日期回到1753年1月1日.MSDN文档声明有date和datetime2数据类型,但SQL Server Management Studio似乎不支持它们(错误:无效的数据类型).

将日期存储为"YYYYMMDD"形式的字符串或整数是多么低效?我在表中的两个日期字段(StartDate和EndDate)上进行了大量的查询和排序.

更新:

下面有一些建议将年,月和日期存储在不同的字段中.将零件存储在不同的字段而不是单个整数字段中有什么好处?

sql sql-server datetime sql-server-2005 date

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

如何从虚拟密钥代码转换为System.Windows.Forms.Keys

如果我使用win32调用拦截按键,我现在有一个密钥代码.有没有办法将其转换为System.Windows.Forms.Keys值?

.net c# winapi key

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

LINQ中的SingleOrNew()方法而不是SingleOrDefault()怎么样?

SingleOrDefault()方法很棒,因为如果您调用它的集合为空,它不会抛出异常.但是,有时我想要的是获取某种类型的新对象(如果不存在).例如,如果我能做到以下几点会很棒:

var client = db.Clients
    .Where(c => c.Name == "Some Client")
    .SingleOrNew<Client>();
Run Code Online (Sandbox Code Playgroud)

这样我就不必检查它null是否是创建一个新的,我总是知道我的client对象将是我可以立即使用的东西.

有任何想法吗?

c# linq

10
推荐指数
3
解决办法
4723
查看次数

EF永远需要生成此查询

我有一个父子表关系.在存储库中,我这样做:

return (from p in _ctx.Parents  
.Include( "Children" )  
select p).AsQueryable<Parent>();  
Run Code Online (Sandbox Code Playgroud)

然后在过滤器中,我想通过子ID列表过滤父项:

IQueryable<Parent> qry;  // from above
List<int> ids;  // huge list (8500)
var filtered =
from p in qry.Where( p => p.Children.Any(c => ids.Contains(c.ChildId)) ) select s;  
Run Code Online (Sandbox Code Playgroud)

我的ID列表很大.这会生成一个简单的SQL语句,它具有一个巨大的id"in(1,2,3 ...)"列表,但它本身不需要花费很多时间.然而,EF只需要整整一分钟来生成语句.我通过设置断点并调用来证明这一点:

((ObjectQuery<Parent>)filtered).ToTraceString();
Run Code Online (Sandbox Code Playgroud)

这需要所有的时间.这是我上一次linq声明中的问题吗?我不知道在(ids)中执行相当于Child.ChildId的任何其他方法.即使我的linq陈述不好,这个世界应该如何花这么长时间?

linq performance entity-framework

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

我什么时候在asp.net中使用委托?

我一直在寻找一种方法来使用我能够使用的所有工具,并将自己伸展到我所处的位置之外.但是,尽管我已经阅读过有关代表的内容,但我找不到使用它们的地方(比如Interfaces,Generics和很多内容,但我离题了.)我希望有人可以告诉我他们何时以及如何使用代表在asp.net c#(2.0及以上版)的web编程中.

谢谢,如果Stack Overflow出错,请告诉我.

c# asp.net delegates

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

Windows主机文件

这些线之间有什么区别:

::1             localhost
Run Code Online (Sandbox Code Playgroud)

...和

127.0.0.1       localhost
Run Code Online (Sandbox Code Playgroud)

在Windows主机文件?

最初我在hosts文件中有第一种类型的行,在浏览器中键入localhost导致我达到127.0.0.1.然后我在浏览器中没有使用localhost提示一段时间,当我需要再次使用它时它只是没有用.我在主机文件中更改了第一行的第一行并且它有效.为什么会这样?

windows localhost hosts

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

IE8 XmlHttpRequest调试

我正在寻找一些方法来优雅地检查IE8中的XmlHttpRequests.我不介意插件或外部程序.我还没有发现任何与Firebug一样好的东西.

我已经尝试过Julien Couvreur的书签调试器,但它似乎与Prototype不兼容.朱利安的剧本

javascript ajax xmlhttprequest internet-explorer-8 ie-developer-tools

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

git:在我'git push'之后,为什么我在X提交时领先于origin/master?

我在服务器上使用一个裸git存储库进行备份,并在本地执行'git commit'后使用'git push'推送本地更改.

'git status'告诉我

# On branch master
# Your branch is ahead of 'origin/master' by X commits.
Run Code Online (Sandbox Code Playgroud)

如果我修改了一个文件,然后执行另一次提交然后执行推送,git告诉我我的分支是由X + 1提交提前的.'git remote show origin'告诉我,fetch和pull URL都与我提供的推送相同.

我已经验证我的更改确实被推送到服务器存储库(通过拉入不同的位置并检查内容).

我在这做错了什么?

PS:我知道SO上有几个相关的问题,但我找不到任何问题的具体问题的答案.如果我在这方面错了,请指出正确的方向.

git commit remote-branch

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

List.Contains基于列表项的属性

我有一个列表myListMyObjects.是否可以检查是否myList包含myObject基于myObjectVB.NET 属性的特定内容?在C#中,你有类似的东西:

myList.Exists(myObject => myObject.property1 == 3)
Run Code Online (Sandbox Code Playgroud)

.net vb.net list filter

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

ValidateAntiForgeryToken如何适用于可通过Web或本机应用程序访问的Web API?

我正在尝试理解如何使用ASP.NET Web API来创建API,该API将受到CSRF保护,同时仍可从非Web环境(例如本机移动应用程序)访问.

我的第一个想法是,非Web环境永远无法成功通过防伪令牌验证,因为它没有发布的表单.这是真的?有没有办法让验证工作?

如果没有办法验证,我的第二个想法是提供一个API,用于验证Web调用的防伪标记,但不能用于非Web调用.但是,似乎攻击者可以轻松地使用这种"非网络"API进行CRSF攻击,对吧?

非Web API需要的答案是仅支持非Web身份验证机制(OAuth?),以便无法通过浏览器重播对它的请求吗?或者有更简单的方法吗?

如果这是唯一的方法,是否有一种简单的方法来关闭所有不安全的身份验证机制?ASP.NET Web API中是否应该有一些简单/快乐的路径来支持这些场景?

antiforgerytoken asp.net-web-api

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