草庐IT

mediawiki-core

全部标签

c# - 如何将表值参数传递给 .NET Core 中的 Dapper?

我正在使用.NETCore和Dapper。我的问题是.NETCore没有数据表,而这正是Dapper用于表值参数(TVP)的内容。我试图转换List到List,使用此列表创建一个SqlParameter,然后将其转换为DynamicParameter:publicstaticSqlParametertoTVP(thisIListenumerable,stringname){Listrecords=newList();//filterallowedtypesvarproperties=typeof(T).GetProperties().Where(p=>Mapper.TypeToSQLM

c# - .NET Core 2.1 - 循环中的正则表达式比 2.0 慢 200 倍(简单基准测试中为 3 倍)

我有以下正则表达式:varregex=newRegex(@"^ActiveMQ[\d\.-]*$",RegexOptions.Compiled|RegexOptions.IgnoreCase|RegexOptions.CultureInvariant);它运行超过1000个字符串(IsMatch调用)。在.NETCore2.0中,它大约需要10ms。迁移到.NETCore2.1后,它会在2秒上处理相同的数据。知道发生了什么事吗?2.1中有任何行为变化吗?======================更新:BenchmarkDotNet可重现的3倍下降(只需运行,将csproj文件中的ne

c# - asp.net core 在上一个操作完成之前在此上下文中开始第二个操作

我有一个ASP.NetCore2Web应用程序。我正在尝试创建一个自定义路由中间件,这样我就可以从数据库中获取路由。在ConfigureServices()我有:services.AddDbContext(options=>options.UseMySQL(configuration.GetConnectionString("ConnectionClient")));services.AddScoped();在Configure()中:app.UseMvc(routes=>{routes.Routes.Add(newRouteCustom(routes.DefaultHandler);

c# - ASP.Net Core 应用程序中 LocalAppData 的路径

我有一个ASP.NetCore应用程序,出于当前目的,我必须使用LocalAppData。通常我会写Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),但遗憾的是它不适用于ASP.NetCore。谁能帮我解决这个问题?更新感谢AdemCaglin,我找到了解决方案。我使用的代码:Environment.GetEnvironmentVariable(RuntimeInformation.IsOSPlatform(OSPlatform.Windows)?"LocalAppData":"主页");

c# - 有没有办法让控制台应用程序仅使用 .NET Core 中的单个文件运行?

在.NETFramework中,您可以创建单个.EXE将从命令行运行的文件,无需任何额外的配置文件(如果使用ILMerge,您可以将所有.DLL引用放入1.EXE程序集)。我正在尝试使用.NETCore来完成同样的事情,但到目前为止还没有成功。即使是最简单的HelloWorld没有依赖项的应用程序需要有一个名为.runtimeconfig.json的文件为了使用dotnet.exe运行.dotnetF:\temp\MyApp.dll.runtimeconfig.json的内容如下:{"runtimeOptions":{"framework":{"name":"Microsoft.NET

c# - 是否可以在 Entity Framework Core 中创建基于字符串的 Include 替代方案?

在API上我需要动态包含,但EFCore不支持基于字符串的包含。因此,我创建了一个映射器,它将字符串映射到添加到列表中的lambda表达式,如下所示:List>expressions=newList>();考虑以下特定类型:publicclassEFContext{publicDbSetP1s{get;set;}publicDbSetP2s{get;set;}publicDbSetP3s{get;set;}}publicclassP1{publicP2P2{get;set;}publicP3P3{get;set;}}publicclassP2{publicP3P3{get;set;}}

c# - ASP.NET Core 中的 ConfigureServices() 和 Configure() 有什么区别?

learn.microsoft.com上的文档说明如下:UseConfigureServicesmethodtoaddservicestothecontainer.UseConfiguremethodtoconfiguretheHTTPrequestpipeline.谁能用简单的例子解释一下,什么是向容器添加服务,什么是配置HTTP请求管道? 最佳答案 简而言之:ConfigureServices用于配置依赖注入(inject)publicvoidConfigureServices(IServiceCollectionservice

c# - 我应该如何在 MVC Core 中管理 DbContext 生命周期?

来自DocumentationEntityFrameworkcontextsshouldbeaddedtotheservicescontainerusingtheScopedlifetime.Thisistakencareofautomaticallyifyouusethehelpermethodsasshownabove.RepositoriesthatwillmakeuseofEntityFrameworkshouldusethesamelifetime.我一直认为,我应该为我必须处理的每个工作单元创建一个新的Context。这让我想到,如果我有一个ServiceA和Service

c# - Entity Framework Core 计数没有最佳性能

我需要使用特定过滤器获取记录的数量。理论上这条指令:_dbContext.People.Count(w=>w.Type==1);它应该生成如下SQL:Selectcount(*)fromPeopleWhereType=1然而,生成的SQL是:SelectId,Name,Type,DateCreated,DateLastUpdate,AddressfromPeopleWhereType=1正在生成的查询需要更长的时间才能在包含许多记录的数据库中运行。我需要生成第一个查询。如果我这样做:_dbContext.People.Count();EntityFramework生成以下查询:Sele

c# - 在 unix (nginx) 上托管时 .NET Core 中的 TimeZoneInfo

例如,当我尝试执行以下操作时。TimeZoneInfo.FindSystemTimeZoneById("CentralEuropeanStandardTime")我收到错误消息,TimeZone在本地计算机上不可用。当我在本地运行它时它有效,但我在Windows上运行它。部署后,它会在Nginx中的Unix机器上运行。当谈到Unix时,我可以看到FindSystemTimeZoneById在错误的文件夹中查找。有什么方法可以使它起作用吗? 最佳答案 .NetCore使用系统时区。不幸的是Windows和Linux有不同的时区系统。现