我正在开始一个新项目,我想使用NHibernate 3.2.我知道它现在可以做类似于FluentNHibernate的事情,我想尝试一下.
但是我很难找到关于Loquacious API的文档.我已经看过关于如何配置ISessionFactory的博客 文章,但在此之后我就迷路了.我知道3.2 API正在快速发展,大约3到4个月的文章已经过时,但我正在寻找最新的信息.
我在哪里可以找到有关的资源:
如何在不使用FluentNHibernate且不使用ConfORM的情况下设置NHibernate 3.2而不使用XML?
如何注册映射?
如何创建约定?
请记住,这与NHibernate 3.2(可能在上面)有关.如果映射和约定等任何概念不再适用,请您指出正确的方向吗?
我对NHibernate和FluentNHibernate有一些经验,因为我将它们用于一个小项目,但它并不是很复杂.
我正在为我们的应用程序测试一些代理设置,但我需要测试需要Windows身份验证(或网络凭据)的代理.
为了进行测试,我将代理的凭据分配给网络凭据
System.Net.WebProxy proxy = new System.Net.WebProxy("127.0.0.1", 8888);
proxy.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
//proxy.Credentials = new System.Net.NetworkCredential("1", "1");
System.Net.WebRequest.DefaultWebProxy = proxy;
Run Code Online (Sandbox Code Playgroud)
目前,我使用Fiddler Require Proxy Authentication
打开规则.如何配置Fiddler以便我可以使用Windows凭据而不是默认的"1"/"1"凭据?
我正在设置TeamCity,我想知道什么应该用作VCS Root.
我的svn存储库位于http:// obfuscatedserver/svn/main/MyProject1 /
我应该在http:// obfuscatedserver/svn/main/MyProject1 /设置VCS Root,还是使用http:// obfuscatedserver/svn/main/MyProject1/trunk /?中的trunk文件夹?
现在我没有使用trunk文件夹,我不得不将Build Runner"Build file path"设置为"trunk/MyProject1.proj"(使用msbuild).
哪个位置合适?
我有一个调用服务时使用的函数.在调用服务之前,它将创建一个日志条目:
protected TResult CallService<TService, TResult>(TService service,
Expression<Func<TService, TResult>> functionSelector)
{
Logger.LogServiceCall(service, functionSelector);
return functionSelector.Compile()(service);
}
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2010代码分析器通知我不应在以下消息中使用嵌套类型:
CA1006:Microsoft.Design:考虑一种设计,其中'ServiceManager.CallService <TService,Result>(TService,Expression <Func <TService,TResult >>)'不嵌套泛型类型'Expression <Func <TService,TResult >>' .
虽然我可以简单地为此条目创建抑制规则,但是是否存在可以阻止显示此类警告的替代方法?
我们有一个MoveFile方法,通常可以工作,但在客户站点仍然失败.
if (File.Exists(target))
{
File.Delete(target);
}
File.Move(source, target);
Run Code Online (Sandbox Code Playgroud)
呼叫File.Move
失败反复失败
Run Code Online (Sandbox Code Playgroud)System.IO.IOException: Cannot create a file when that file already exists. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.__Error.WinIOError() at System.IO.File.Move(String sourceFileName, String destFileName)
我们有围绕调用该方法的错误处理,但我们无法弄清楚为什么File.Delete
不工作并且没有抛出任何东西.
我们虽然关于文件许可,但是那File.Delete
会扔掉一个UnauthorizedAccessException
.
File.Move
在删除该特定文件之前,还有其他原因导致"文件已存在"失败吗?
我希望使用nuget而不提交包.我想在mercurial中忽略位于该/packages/
文件夹中的所有包子文件夹,但我不想排除repositories.config
位于该/packages/
文件夹中的文件.
我该如何编写排除正则表达式呢?
我正在寻找一种方法来检索当前的异常,而不必将其作为变量传递.
假设以下代码
public void MakeItFail()
{
try
{
throw new FailException();
}
catch // Yes I'm aware that this shouldn't be done, but I don't want to go through all the code base and change it
{
ShowMessage("An error occured");
}
}
public void ShowMessage(string message)
{
// How can I retrieve the exception here
}
Run Code Online (Sandbox Code Playgroud)
在监视窗口中,我可以使用$ exception来获取当前异常.是否有相同的代码?
我有两个表达式树定义如下:
private Expression<Func<TEntity, TPropertyResult>> PropertyAccessor { get; set; }
Run Code Online (Sandbox Code Playgroud)
和
private Expression<Func<TPropertyResult, bool>> TestExpression { get; set; }
Run Code Online (Sandbox Code Playgroud)
我需要创建一个新的表达式树,它将产生相当于:
var expression = p => this.TestExpression(this.PropertyAccessor(p));
Run Code Online (Sandbox Code Playgroud)
使用时Expression.Invoke(this.TestExpression, this.PropertyAccessor)
,我收到以下错误
{"类型'System.Func`2 [MyEntity,System.String]'的表达式不能用于'System.String'类型的参数"}
TPropertyResult
我测试时是一个字符串.
我试过用Expression.Call
或者Expression.Invoke
.没运气.我该怎么用?
为了支持仅接受特定数量的项目(5项)的API,我想将LINQ结果转换为总是包含该设定数量项目的较小项目组.
假设清单 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18}
我想得到三个较小的列表,每个最多包含5个项目
{1, 2, 3, 4, 5}
{6, 7, 8, 9, 10}
{11, 12, 13, 14, 15}
{16, 17, 18}
我怎么能用LINQ做到这一点?我假设它涉及Group
或者Aggregate
,但我无法弄清楚如何写它.