抛出以下linq-to-entities查询
实体框架超时已过期.操作完成之前经过的超时时间或服务器没有响应.
在ToList()之后.
 var q = (from contact 
          in cDB.Contacts.Where(x => x.Templategroepen.Any(z => z.Autonummer == templategroep.Autonummer) 
                                && !x.Uitschrijvings.Any(t => t.Templategroep.Autonummer == templategroep.Autonummer)) 
          select contact.Taal).Distinct();
((System.Data.Objects.ObjectQuery)q).ToTraceString() 给我:
SELECT 
[Distinct1].[Taal] AS [Taal]
FROM ( SELECT DISTINCT 
[Extent1].[Taal] AS [Taal]
FROM [dbo].[ContactSet] AS [Extent1]
WHERE ( EXISTS (SELECT 
1 AS [C1]
FROM [dbo].[TemplategroepContact] AS [Extent2]
WHERE ([Extent1].[Autonummer] = [Extent2].[Contacts_Autonummer]) AND ([Extent2].[Templategroepen_Autonummer] = @p__linq__0)
)) AND ( NOT EXISTS (SELECT 
1 AS [C1]
FROM [dbo].[UitschrijvingenSet] AS [Extent3]
WHERE ([Extent1].[Autonummer] = [Extent3].[Contact_Autonummer]) AND ([Extent3].[Templategroep_Autonummer] = …我是表达式的新手,我想知道如何以任何方式转换我的表达式
让我们说在这个例子中我的TModel是Customer类型,并将它分配给这样的地方:
Expression<Func<TModel, string>> getvalueexpression = customer =>customer.Name
喜欢的东西
Expression<Action<TModel,string>> setvalueexpression = [PSEUDOCODE] getvalueexpression = input
Action<TModel,string> Setter  = setvalueexpression.Compile();
Setter(mycustomer,value);
所以简而言之,我想以某种方式构建和编译一个表达式,该表达式将我的getter表达式指定的客户名称设置为特定值.
我正在尝试转换一个
Expression<Func<T,object>>
到了
Expression<Func<T,bool>> 
目前,手表向我显示我的表情
Expression<Func<T,object>> myExpression = model=>Convert(model.IsAnAirplane)
我想简化这个
Expression<Func<T,bool>> myExpression = model=>model.IsAnAirplane
目前我只成功添加转换,导致:
Expression<Func<T,bool>> myExpression = model=>Convert(Convert(model.IsAnAirplane))
但由于底层类型是一个bool,我应该能够完全划伤转换器,对吧?我熟悉表达式访问者等,但仍然无法弄清楚如何删除转换.
编辑:这个问题的接受答案表达式<Func <T,对象>>到表达式<Func <T,TResult >>(可能是重复的)的通用拆箱对我来说不起作用...作为表达式由EF翻译,你可以看到它转换(转换())而不是只删除第一个转换...,这导致"无法转换类型'System.Boolean'来键入'System.Object'.LINQ to Entities仅支持转换EDM原语或枚举类型."
可能重复:
如何处理Rounding-TimeSpan?
有没有办法轻松地将ac#TimeSpan(可能包含超过一天)放在一边这样做
0天23h 59m变为1天0 h 0 m?
0天23h 47m变为0天23 h 50 m?
等等?
这是我到目前为止所提出的:
int remainder = span2.Minutes % 5;
if (remainder != 0)
{
    span2 = span2.Add(TimeSpan.FromMinutes(5 - remainder));
}
对于一些相当简单的东西来说似乎有很多代码:(是不是有一些内置的c#函数我可以使用圆形时间盘?
我有一个.NET MVC页面,其中包含每个都有<%: %>编码描述的项目列表
 rel.我希望能够搜索rel包含我的搜索查询的所有项目.
其中一个字段具有htmlentities的值 rel='Décoration'
我在搜索框中输入"Décoration",让jQuery搜索具有'rel'属性的所有元素,其中包含(indexOf!= -1)该值:
没有结果!
为什么?因为Décoration  != Décoration.
比较这两者的最佳解决方案是什么?(必须为所有特殊重音字符工作,而不仅仅是é)
PS(我尝试了逃避/ unescape双方,也尝试将其附加到div然后将其作为文本阅读,这取代了危险的东西,但不替换é(它没有必要因为它在utf-8无论如何))
我的任务是编写一些代码来解释来自(不同)(比利时)银行的CODA文件.
CODA文件代表Coded Statement of Account文件,并且似乎是文本文件的比利时名称,该文本文件具有针对特定银行帐户上发生的每个银行交易的行.
这包括SEPA直接付款交易信息.
我们正在使用的前两个银行是比利时(Fortis和ING),我收到了这些文件是如何编码的规范.
我似乎无法找到这些文件的英文名称.如果这真的只是比利时的标准,我会感到惊讶.我正在寻找更多信息,如果我们尝试将我们的代码与法国或英国银行联系起来会发生什么
我发现存在mt940(SWIFT)这样的东西,但那些文件与我的看起来不一样.
如何在linq语句发送到服务器之前看到文档DB sql查询(在字符串中)?
_documentClient.CreateDocumentQuery<MyType>(
                        UriFactory.CreateDocumentCollectionUri(DatabaseName,
                            CollectionName)).Where(....).SelectMany(...)
我想用它来追踪.
我正在编写一些代码来修改表达式,以便包含在其中的子查询将被排序.
我在SO上找到了类似的代码:https://stackoverflow.com/a/1379693/509464 但它不适用于我也试着看这个答案,但是我无法将它应用到我的作品中代码
类型'Queryable'上没有泛型方法'OrderBy'与提供的类型参数和参数兼容.如果方法是非泛型的,则不应提供类型参数.
          MethodCallExpression orderByCallExpression = Expression.Call(
                    typeof(Queryable),
                    "OrderBy"/*Descending*/,
                    new Type[] { typeof(TSource), filterpart.OrderOverPropertyGetterValueType},
                    navigationalProperty.Body,
                    filterpart.OrderOverPropertyGetter);                            
我试图弄清楚哪两个类型参数或另外两个参数导致了这个错误.
typeof(DateTime)在这种情况下,OrderOverPropertyGetterValueType就是这样source.Gifts.AsQueryable()带有表达式类型的{ }  System.Linq.Expressions.MethodCallExpression{g => g.Date}表达式类型System.Linq.Expressions.Expression<System.Func<Gift,System.DateTime>>我无能为力,因为如何诊断这四个参数是不正确的,我认为其中一个表达类型可能不正确...
我们在vsts构建中看到了不一致的失败.这些出现了无处不在.
我们正在努力找到根本原因,任何诊断此问题的帮助都将不胜感激!
这是相关的版本信息:
[2017-04-25 07:25:58Z INFO AgentProcess] Agent是为Windows构建的 - win7-x64.[2017-04-25 07:25:58Z INFO AgentProcess] RuntimeInformation:Microsoft Windows 6.3.9600.[2017-04-25 07:25:58Z INFO AgentProcess]版本:2.111.1
以下是日志的摘录:
017-04-25T07:28:14.1561247Z ## [section]开始:发布神器:drop 2017-04-25T07:28:14.1561247Z =================== ================================================== ========= 2017-04-25T07:28:14.1561247Z任务:发布构建工件2017-04-25T07:28:14.1561247Z描述:发布构建工件到服务器或文件共享2017-04- 25T07:28:14.1561247Z版本:1.0.40 2017-04-25T07:28:14.1561247Z作者:微软公司2017-04-25T07:28:14.1561247Z帮助:更多信息 2017-04-25T07:28:14.1561247Z = ================================================== =========================== 2017-04-25T07:28:15.0779877Z ## [section]异步命令开始:上传神器2017- 04-25T07:28:15.0779877Z上传8个文件2017-04-25T07:28:20.1111153Z总文件数:8 ----已处理文件数:7(87%)2017-04-25T07:28:30.2611071Z文件总数: 8 ----处理文件:7(87%)2017-04-25T07:28:35.3611234Z无法上传'E:\ Build\agents\scully_work\4\a\Project.Name.Web.zip'由于'发生了错误 发送请求.'.2017-04-25T07:28:35.3611234Z System.Net.Http.HttpRequestException:发送请求时发生错误.---> System.Net.Http.WinHttpException:与所述服务器的连接被在系统在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务的任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务的任务)异常终止.Net.Http.WinHttpHandler.d__101.MoveNext()---内部异常堆栈跟踪结束---在Microsoft.VisualStudio.Services.Common.VssHttpRetryMessageHandler.d__3.MoveNext()---来自先前位置的堆栈跟踪结束其中引发异常---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(工作任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(工作任务)在System.Net.Http.HttpClient.d__58.MoveNext() - -从先前的位置堆栈跟踪,其中引发异常---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(工作任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification结束(任务任务 )在System.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult() at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.<SendAsync>d__45.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.ConfiguredTaskAwaitable1.ConfiguredTaskAwaiter.GetResult()在Microsoft.VisualStudio.Services.FileContainer.Client.FileContainerHttpClient.d__17.MoveNext()---从先前的位置堆栈跟踪,其中引发异常的结束- -在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(工作任务)在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(工作任务)在System.Runtime.CompilerServices.TaskAwaiter1.GetResult() …
我正在尝试首先过滤一组产品,然后订购它们
  (repository.GetAllProducts()
     .Where(x=>x.Naam.Contains("filter")) as ObjectQuery<Product>)
     .FunkyOrder<Product>(sortfield,sortdirection)
使用Extension方法:
 public  static IEnumerable<T> FunkyOrder<T>(this ObjectQuery<T> input, string fieldname = "Id", string sortdirection = "asc")
        {            
            switch (sortdirection)
            {
                case "dsc":
                case "desc":
                    return input.OrderBy("it." + fieldname + " DESC");
                default:
                    return input.OrderBy("it." + fieldname);
            }
        }
(我的Repository的GetAllProducts()返回一个IEnumerable
这个FunkyOrder方法应该可以工作,但是 - 作为ObjectQuery - cast返回NULL
我只能使用带有ObjectQuery的FunkyOrder,因为这似乎是唯一支持那些"it.FieldName"查询的东西.
如果我将 - as - notation更改为常规演员,我得到:
 Unable to cast object of type 'WhereEnumerableIterator`1[MySecretNameSpace.Product]' to type 'System.Data.Objects.ObjectQuery`1[MySecretNameSpace.Product]'.
有没有办法让这项工作或者我会被迫在过滤之前使用排序,或者为我的排序编写一个带有lambda表达式的巨型开关?
假设我有两个参数:
参数1一个表达式,它接受一个T并从中获取相关产品的ID
Expression<Func<T,int>> prodIdProperty = x=>x.Product.Id
参数2 a productid与之比较,比方说
int productid = 5;
有没有什么方法可以运行时将这个(在代码中)转换为一个新的表达式,如下所示:
Expression<Func<T,bool>> prodIdProperty = x=>x.Product.Id == 5
我基本上需要这样的东西:
Expression<Func<T,bool>> TransformToPredicate(Expression<Func<T,int>> prodIdProperty,int productid){
//insert expression transform magic I don't seem to grasp...
}
我需要这个,因为我想将它作为谓词传递给我的EF Where子句,这意味着我不能包含我的prodIdProperty的编译版本,因为它需要调用Invoke()不支持
(我已经尝试过在这个问题上用另一种方式解决我的问题,但我认为我在那里过于复杂)
创建新的WebJob项目时,AzureWebJobsStorage连接字符串将添加到App.config> configuration> connectionStrings
相比之下,存储帐户连接字符串的Microsoft文档清楚地表明AppSettings就是他们所说的.
推荐的地方是什么?是的ConnectionStrings只为数据库连接字符串?
我们将使用Azure Web App中的连接字符串
试图弄清楚为什么我的控制台应用程序不会停止运行。
在 dotnet 核心应用程序 main 方法中使用以下方法:
await new HostBuilder().
...
 .ConfigureServices((hostContext, services) =>
  {     
     services.AddHostedService<MyHostedService>(); 
  })
 .UseConsoleLifetime()
 .Build()
 .RunAsync();
使用以下设置从 Windows 任务计划程序发布和计划该任务有效:
到目前为止一切都很好。所有代码都正确执行。但是,任务保持运行,过程永远不会结束。(即使在任务调度程序的 UI 上按下刷新后也没有)
这是预期的吗?如果没有,我如何让进程终止?
如果可以预期,那么在一个刚刚启动、运行和停止的预定控制台应用程序中使用通用主机/托管服务是否仍然有意义?
c# ×8
expression ×4
lambda ×3
.net ×2
linq ×2
.net-core ×1
azure ×1
boxing ×1
coda-format ×1
javascript ×1
jquery ×1
networking ×1
on-prem ×1
publish ×1
sorting ×1
sql-server ×1
swift-mt ×1
transactions ×1
unboxing ×1
unicode ×1