我需要编写一个查询,按年度到小时的时间段对大量记录进行分组.
我最初的方法是在C#中以程序方式决定周期,迭代每个周期并运行SQL以获取该周期的数据,随时构建数据集.
SELECT Sum(someValues)
FROM table1
WHERE deliveryDate BETWEEN @fromDate AND @ toDate
Run Code Online (Sandbox Code Playgroud)
我后来发现我可以使用Year(),Month()Day()和datepart(week,date)和datepart(hh,date)对记录进行分组.
SELECT Sum(someValues)
FROM table1
GROUP BY Year(deliveryDate), Month(deliveryDate), Day(deliveryDate)
Run Code Online (Sandbox Code Playgroud)
我担心的是,由于无法有效地使用datetime字段上的索引,因此在group by中使用datepart会导致比在一段时间内多次运行查询更糟糕的性能; 有关这是否属实的任何想法?
谢谢.
我必须为我当前的ASP .Net项目创建一个自定义成员资格提供程序,以便适应我们的数据库架构,并且在配置它时如果他们的密码错误三次就会锁定用户时出现问题,这是由标准供应商.
这是我需要自己实现的东西,还是本来应该得到支持?
我没有专门处理它的代码(并且没有任何接口成员似乎专门处理它),但如果我需要自己实现它,我该如何通知用户他们被锁定?我需要在ValidateUser中引发某种异常吗?
解
惭愧我无法标记两个答案,Dave R提供的链接深入了解了会员的工作方式,Zhaph指出的是我最终做的事情,处理自定义会员提供商中的锁定逻辑.
然后,我使用Login控件的LoginError事件处理错误情况,并在那里检查以查看用户是否被锁定以显示相应的错误消息.
我最近开始使用NHibernate,总的来说很喜欢它.
直到遇到需要序列化为XML并返回的问题.
我有一个具有多对多关系的类,因此在父类中有一个IList来保存子对象列表.
Class parentClass{
IList<childClass> childList;
string varA;
string varB;
}
Run Code Online (Sandbox Code Playgroud)
我需要能够将其序列化为XML并返回,但显然IList阻止我这样做,因为NHibernate想要控制IList的具体实现,在这种情况下使用Bag.
理想情况下,我想避免使用单独的DTO来替换列表,因为我使用NHibernate的主要动机是能够将它与POCO一起使用,而不必为它制作一个讨厌的框架.
我所知道的能够采取与ISerializable的序列化过程的控制,但同样,这似乎否定首先使用NHibernate来降低复杂性的点.
此外,XML需要保持"简单",因为它用于与第三方互操作.
解决这个约束的最佳方法是什么?
谢谢!
在整理T4模板的同时,我抛出了一个简单的lambda表达式:
<#=string.Join(",", updateFields.ConvertAll(field => field.Name).ToArray())#>
Run Code Online (Sandbox Code Playgroud)
这会导致模板无法生成错误:
Compiling transformation: Invalid expression term '>'
Run Code Online (Sandbox Code Playgroud)
在lambda表达式的行上.
这已在模板外检查并正常工作.T4不支持使用lambda表达式吗?如果没有,是否有任何其他语言功能在T4模板的上下文中不受支持?
谢谢!
有哪些不同类型的封装?
我是否认为这基本上是指中心OO概念,如抽象,多态和继承?
我对封装的理解是它是一种隐藏数据/功能的方法,但我从来没有真正考虑过多态或继承是一种封装形式,虽然我可以看到多态如何被认为是封装,因为它可以隐藏对象的确切类型你与...互动.
那么,你会说是关于它的,还是我错过了一些核心概念?
编辑我刚刚在评论中注意到有人提到它可以引用私人/公共方法,也许我正在考虑这个问题并且期待一个比实际更复杂的答案?
我有一个 Nhibernate 对象,它具有 Firstname 和 Surname 属性,我希望能够查询这两个字段(Firstname + " " + Surname);例如,如果搜索词是“John Doe”,那么当 John 和 Doe 在不同的字段中时,这将被匹配。
我怎样才能做到这一点?谢谢!
.net ×3
c# ×2
nhibernate ×2
asp.net ×1
generics ×1
lambda ×1
lockout ×1
membership ×1
oop ×1
performance ×1
sql ×1
sql-server ×1
t4 ×1
templates ×1
xml ×1