我正在使用正则表达式来匹配文件内容:
> (get-content $_) -match $somePattern
the line of text that matches the pattern
Run Code Online (Sandbox Code Playgroud)
这返回true,匹配,但我的$ matches变量保持为null.
> $matches -eq $null
True
Run Code Online (Sandbox Code Playgroud)
$ match是否应该包含匹配组?
我正在为我们公司正在进行的项目提供NHibernate,我想知道NHibernate是否可以优化,以便在使用Criteria查询语言时只检索表上的特定列.
例如.假设我有一个包含30列的表,并使用NHibernate映射到一个对象,该对象是针对该表的1对1匹配.但是,对于系统的特定功能,我只关心其中的两个列.
现在,我知道我可以使用HQL并执行一个CreateQuery
可以实现此目的,但这需要我为每个我想要有选择地检索的字段组合创建一个构造函数.从维护的角度来看,这可能是一个巨大的痛苦,因为我不会在运行时之前捕获缺少的构造函数.
我喜欢Criteria查询语言,因为它生成参数化SQL而不是来自HQL的直接SQL查询.我看到有一个"排除"模型不包括某些列,但在大多数情况下,我将包括更多列而不是排除.
感谢下面的评论,我调查了预测,这对我来说仍然不是一个理想的情况.使用以下内容时:
var list = session
.CreateCriteria(typeof (Task))
.SetProjection(Projections
.ProjectionList()
.Add(Projections.Property("Id")))
.List();
Run Code Online (Sandbox Code Playgroud)
我最后得到的变量list
就是整数,我更喜欢拥有完整的Task对象,但所有字段都设置为默认值.这甚至可能吗?到目前为止,我看到的一切都说没有.
我目前有一个遗留系统,它使用SP专门访问数据库.我的域对象看起来像这样:
public class User : EntityBase
{
public virtual string Name {get;set;}
public virtual string CreatedBy {get;set;}
public virtual DateTime CreatedDate {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我有这个映射的SP看起来像这样:
CREATE PROCEDURE getUser
{
@ID int
}
select
Name
,(SELECT TOP 1 UserName FROM AuditTrail WHERE EntityID = [User].[ID] AND EntityName = 'User' AND AuditActionID = 1 ORDER BY DateStamp) AS CreatedBy
,(SELECT TOP 1 DateStamp FROM AuditTrail WHERE EntityID = [User].[ID] AND EntityName = 'User' AND AuditActionID = 1 ORDER BY DateStamp) AS CreatedDate
FROM …
Run Code Online (Sandbox Code Playgroud) 我正在学习一些Fluent NHibernate,而且我遇到过半熟的PersistenceSpecification类.
我已经在单元测试中进行了设置以验证我的映射,并且它运行良好.但是,它在完成后会将记录留在数据库中.我尝试在事务中抛出它,所以我可以回滚更改,但是我收到一个错误:
System.ObjectDisposedException:无法访问已处置的对象.对象名称:'AdoTransaction'..
如果没有事务,我必须弄清楚记录的ID,检索它们并删除它们,这看起来并不优雅.
有什么想法吗?
编辑:
这是代码片段:
var factory = GetSessionFactory();
using (var session = factory.OpenSession())
using (var transaction = session.BeginTransaction())
{
new PersistenceSpecification<TimePeriod>(session)
.CheckProperty(x => x.EndDate, DateTime.Today)
.VerifyTheMappings();
transaction.Rollback();
}
Run Code Online (Sandbox Code Playgroud) 我有一个MVC3 RouteValueDictionary,我想快速转换为匿名类型.
例如:
new RouteValueDictionary(){{"action","search"}}
Run Code Online (Sandbox Code Playgroud)
会是一样的
new {action="search"}
Run Code Online (Sandbox Code Playgroud) 我目前正在使用ASP.NT MVC RC1来实现基本的时间表应用程序.我想遵循DRY原则,但在一个特定情况下发现它很困难:
我的观点之一,实际上是部分视图,有许多文本框,表示在特定任务上花费的小时数,一周中每天一个文本框.当我最初加载页面时,我希望视图中的文本框显示所有这些小时的总和.另外,我希望在更改文本框中的值时更新总计.文本框的更新不会导致完整的回发,只有一个AJAX回发不对结果做任何事情(回发更新数据库上的值,但返回ActionResult是一个EmptyResult,因为我没有什么需要更新的UI).
目前我让控制器创建一个视图,该视图使用该视图的"total"填充,因此添加所有值的逻辑位于C#控制器中.在UI方面,我有javascript更新UI级别的总数.但这并不好,因为如果我改变计算总数的逻辑,我必须在两个地方改变它!AHH!不要干!
那么,我该怎么做呢?到目前为止,唯一的答案是废弃在UI上计算总数的javascript代码,而是让AJAX回发返回该视图的新"总计".
还有其他方法吗?
我有兴趣激活另一个应用程序的活动。通过阅读 Android SDK,我知道最好以隐式意图执行此操作。但是,此活动并不驻留在我拥有的应用程序中,因此我不知道意图过滤器上的操作、类别和数据标志。
如何检查 Android 应用程序元数据,例如活动类和这些活动的意图过滤器(如果在清单中声明)?
谢谢!
我有一个WorkflowServiceHost我在Windows服务中启动.一切正常,但一段时间后服务停止响应请求.通过跟踪日志,我可以看到抛出异常 - 在这种情况下是通过简单加载元数据页面 - 关于被中止的通信对象:
The communication object, System.ServiceModel.Channels.TransportReplyChannelAcceptor+TransportReplyChannel, cannot be used for communication because it has been Aborted.
Run Code Online (Sandbox Code Playgroud)
跟踪文件中没有指示问题的先前日志.我们每分钟监控它以确保它正在运行(因为出现此问题)并且我可以在元数据页面突然开始报告它处于中止状态之前看到许多成功的请求.
此时恢复的唯一方法是重启我的服务.我以前曾多次使用WCF,但从未作为WF的前端.我之前从未遇到过我的WCF服务这个问题,WorkflowServiceHost会发生什么事情?
谢谢!
更新:
以下是WCF的一些跟踪日志:
c# ×3
nhibernate ×2
.net ×1
android ×1
dry ×1
javascript ×1
manifest ×1
powershell ×1
regex ×1
wcf ×1