小编Mic*_*lle的帖子

查询在SQL中运行不到一毫秒,但在实体框架中超时

抛出以下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();
Run Code Online (Sandbox Code Playgroud)

((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] = …
Run Code Online (Sandbox Code Playgroud)

sql-server entity-framework

13
推荐指数
1
解决办法
6751
查看次数

表达式<Func <TModel,string >>到Expression <Action <TModel >>"Getter"到"Setter"

我是表达式的新手,我想知道如何以任何方式转换我的表达式

让我们说在这个例子中我的TModel是Customer类型,并将它分配给这样的地方:

Expression<Func<TModel, string>> getvalueexpression = customer =>customer.Name
Run Code Online (Sandbox Code Playgroud)

喜欢的东西

Expression<Action<TModel,string>> setvalueexpression = [PSEUDOCODE] getvalueexpression = input
Action<TModel,string> Setter  = setvalueexpression.Compile();
Setter(mycustomer,value);
Run Code Online (Sandbox Code Playgroud)

所以简而言之,我想以某种方式构建和编译一个表达式,该表达式将我的getter表达式指定的客户名称设置为特定值.

c# lambda expression

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

从ac#表达式中删除不需要的拳击转换

我正在尝试转换一个

Expression<Func<T,object>>
Run Code Online (Sandbox Code Playgroud)

到了

Expression<Func<T,bool>> 
Run Code Online (Sandbox Code Playgroud)

目前,手表向我显示我的表情

Expression<Func<T,object>> myExpression = model=>Convert(model.IsAnAirplane)
Run Code Online (Sandbox Code Playgroud)

我想简化这个

Expression<Func<T,bool>> myExpression = model=>model.IsAnAirplane
Run Code Online (Sandbox Code Playgroud)

目前我只成功添加转换,导致:

Expression<Func<T,bool>> myExpression = model=>Convert(Convert(model.IsAnAirplane))
Run Code Online (Sandbox Code Playgroud)

但由于底层类型是一个bool,我应该能够完全划伤转换器,对吧?我熟悉表达式访问者等,但仍然无法弄清楚如何删除转换.

编辑:这个问题的接受答案表达式<Func <T,对象>>到表达式<Func <T,TResult >>(可能是重复的)的通用拆箱对我来说不起作用...作为表达式由EF翻译,你可以看到它转换(转换())而不是只删除第一个转换...,这导致"无法转换类型'System.Boolean'来键入'System.Object'.LINQ to Entities仅支持转换EDM原语或枚举类型."

c# lambda boxing unboxing expression

8
推荐指数
1
解决办法
720
查看次数

将C#TimeSpan向上舍入到5分钟

可能重复:
如何处理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));
}
Run Code Online (Sandbox Code Playgroud)

对于一些相当简单的东西来说似乎有很多代码:(是不是有一些内置的c#函数我可以使用圆形时间盘?

.net c#

7
推荐指数
1
解决办法
8805
查看次数

JavaScript htmlentities法语

我有一个.NET MVC页面,其中包含每个都有<%: %>编码描述的项目列表 rel.我希望能够搜索rel包含我的搜索查询的所有项目.

其中一个字段具有htmlentities的值 rel='D&eacute;coration'

我在搜索框中输入"Décoration",让jQuery搜索具有'rel'属性的所有元素,其中包含(indexOf!= -1)该值:

没有结果!

为什么?因为Décoration != D&eacute;coration.

比较这两者的最佳解决方案是什么?(必须为所有特殊重音字符工作,而不仅仅是&eacute;)

PS(我尝试了逃避/ unescape双方,也尝试将其附加到div然后将其作为文本阅读,这取代了危险的东西,但不替换é(它没有必要因为它在utf-8无论如何))

.net javascript unicode model-view-controller jquery

6
推荐指数
1
解决办法
341
查看次数

Febelfin CODA(编码账户报表)2.3仅在比利时使用?

我的任务是编写一些代码来解释来自(不同)(比利时)银行的CODA文件.

CODA文件代表Coded Statement of Account文件,并且似乎是文本文件的比利时名称,该文本文件具有针对特定银行帐户上发生的每个银行交易的行.

这包括SEPA直接付款交易信息.

我们正在使用的前两个银行是比利时(Fortis和ING),我收到了这些文件是如何编码的规范.

我似乎无法找到这些文件的英文名称.如果这真的只是比利时的标准,我会感到惊讶.我正在寻找更多信息,如果我们尝试将我们的代码与法国或英国银行联系起来会发生什么

  • 有没有人可以指出我需要搜索的标准名称?
  • 这个甚至还有国际标准吗?
  • 对于程序员:是否有任何c#或.NET程序集可以用来轻松解释这些CODA(2.3)文件?我想避免自己编写这个关键库.

我发现存在mt940(SWIFT)这样的东西,但那些文件与我的看起来不一样.

transactions swift-mt coda-format

6
推荐指数
1
解决办法
1436
查看次数

如何跟踪documentdb Linq提供程序生成的查询?

如何在linq语句发送到服务器之前看到文档DB sql查询(在字符串中)?

_documentClient.CreateDocumentQuery<MyType>(
                        UriFactory.CreateDocumentCollectionUri(DatabaseName,
                            CollectionName)).Where(....).SelectMany(...)
Run Code Online (Sandbox Code Playgroud)

我想用它来追踪.

c# linq azure-cosmosdb

6
推荐指数
2
解决办法
964
查看次数

类型'Queryable'上没有泛型方法'OrderBy'与提供的类型参数兼容

我正在编写一些代码来修改表达式,以便包含在其中的子查询将被排序.

我在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);                            
Run Code Online (Sandbox Code Playgroud)

我试图弄清楚哪两个类型参数或另外两个参数导致了这个错误.

  • typeof(DateTime)在这种情况下,OrderOverPropertyGetterValueType就是这样
  • TSource是一个实体类型(礼物)
  • navigationalProperty.Body包含source.Gifts.AsQueryable()带有表达式类型的{ } System.Linq.Expressions.MethodCallExpression
  • filterpart.OrderOverPropertyGetter包含{g => g.Date}表达式类型System.Linq.Expressions.Expression<System.Func<Gift,System.DateTime>>

我无能为力,因为如何诊断这四个参数是不正确的,我认为其中一个表达类型可能不正确...

c# lambda expression entity-framework-4

5
推荐指数
1
解决办法
2185
查看次数

VSTS Build代理问题步骤'发布工件:删除'

我们在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.TaskAwaiter 1.GetResult() …

networking publish on-prem azure-pipelines

5
推荐指数
1
解决办法
953
查看次数

过滤实体,然后对动态字段进行排序

我正在尝试首先过滤一组产品,然后订购它们

  (repository.GetAllProducts()
     .Where(x=>x.Naam.Contains("filter")) as ObjectQuery<Product>)
     .FunkyOrder<Product>(sortfield,sortdirection)
Run Code Online (Sandbox Code Playgroud)

使用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);

            }
        }
Run Code Online (Sandbox Code Playgroud)

(我的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]'.
Run Code Online (Sandbox Code Playgroud)

有没有办法让这项工作或者我会被迫在过滤之前使用排序,或者为我的排序编写一个带有lambda表达式的巨型开关?

c# linq sorting entity-framework

3
推荐指数
1
解决办法
5587
查看次数

C#表达式使用==或Equals运算符和外部参数进行简单转换

假设我有两个参数:

参数1一个表达式,它接受一个T并从中获取相关产品的ID

Expression<Func<T,int>> prodIdProperty = x=>x.Product.Id
Run Code Online (Sandbox Code Playgroud)

参数2 a productid与之比较,比方说

int productid = 5;
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以运行时将这个(在代码中)转换为一个新的表达式,如下所示:

Expression<Func<T,bool>> prodIdProperty = x=>x.Product.Id == 5
Run Code Online (Sandbox Code Playgroud)

我基本上需要这样的东西:

Expression<Func<T,bool>> TransformToPredicate(Expression<Func<T,int>> prodIdProperty,int productid){
//insert expression transform magic I don't seem to grasp...
}
Run Code Online (Sandbox Code Playgroud)

我需要这个,因为我想将它作为谓词传递给我的EF Where子句,这意味着我不能包含我的prodIdProperty的编译版本,因为它需要调用Invoke()不支持

(我已经尝试过在这个问题上用另一种方式解决我的问题,但我认为我在那里过于复杂)

c# expression entity-framework

3
推荐指数
1
解决办法
1970
查看次数

存储Azure存储连接字符串的建议位置是什么

创建新的WebJob项目时,AzureWebJobsStorage连接字符串将添加到App.config> configuration> connectionStrings

相比之下,存储帐户连接字符串Microsoft文档清楚地表明AppSettings就是他们所说的.

推荐的地方是什么?是的ConnectionStrings只为数据库连接字符串?

我们将使用Azure Web App中的连接字符串

c# connection-string azure azure-storage azure-webjobs

3
推荐指数
1
解决办法
874
查看次数

dotnet 控制台应用程序,使用通用主机、HostedService、Windows 任务计划程序保持运行状态

试图弄清楚为什么我的控制台应用程序不会停止运行。

在 dotnet 核心应用程序 main 方法中使用以下方法:

await new HostBuilder().
...
 .ConfigureServices((hostContext, services) =>
  {     
     services.AddHostedService<MyHostedService>(); 
  })
 .UseConsoleLifetime()
 .Build()
 .RunAsync();
Run Code Online (Sandbox Code Playgroud)

使用以下设置从 Windows 任务计划程序发布和计划该任务有效:

Windows 任务计划程序设置

到目前为止一切都很好。所有代码都正确执行。但是,任务保持运行,过程永远不会结束。(即使在任务调度程序的 UI 上按下刷新后也没有)

这是预期的吗?如果没有,我如何让进程终止?

如果可以预期,那么在一个刚刚启动、运行和停止的预定控制台应用程序中使用通用主机/托管服务是否仍然有意义?

console-application windows-task-scheduler .net-core

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