小编Jan*_*Jan的帖子

dplyr中多列的加权平均值

我正在尝试使用dplyr计算多列的加权平均值.目前我仍然坚持使用summarize_each,这对我来说似乎是解决方案的一部分.这是一些示例代码:

library(dplyr)
f2a <- c(1,0,0,1)
f2b <- c(0,0,0,1)
f2c <- c(1,1,1,1)
clustervar <- c("A","B","B","A")
weight <- c(10,20,30,40)

df <- data.frame (f2a, f2b, f2c, clustervar, weight, stringsAsFactors=FALSE)
df
Run Code Online (Sandbox Code Playgroud)

我正在寻找的是类似的东西

df %>%
  group_by (clustervar) %>%
  summarise_each(funs(weighted.mean(weight)), select=cbind(clustervar, f2a:f2c))
Run Code Online (Sandbox Code Playgroud)

结果只是:

# A tibble: 2 × 4
  clustervar select4 select5 select6
       <chr>   <dbl>   <dbl>   <dbl>
1          A      25      25      25
2          B      25      25      25
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

r mean weighted dplyr

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

如何使用 GetAsyncEnumerator 中止正在运行的 EF Core 查询?

我正在使用 EF Core 5.0 并有以下代码:

public async IAsyncEnumerable<Item> GetItems([EnumeratorCancellation] CancellationToken cancellationToken = default)
{
    await using var ctx = _DbContextFunc();
    //Isolationlevel is required to not cause any issues with parallel working on already read items
    await ctx.Database.BeginTransactionAsync(IsolationLevel.ReadUncommitted, cancellationToken).ConfigureAwait(false);
    await foreach (var item in ctx.Item.
        .AsSplitQuery()
        .Include(i => i.ItemDetail1)
        .Include(i => i.ItemDetail2)
        .OrderByDescending(i => i.ItemId)
        .AsNoTracking()
        .AsAsyncEnumerable()
        .WithCancellation(cancellationToken))
    {
        yield return item;
    }
}
Run Code Online (Sandbox Code Playgroud)

它按预期工作,允许我在仍在加载更多数据的同时填充数据网格。如果我取消提供的 CancelationToken,首先我会在 MoveNextAsync() 行上收到预期的 TaskCanceledException。

但是:我可以在 SQL Profiler 中看到 SQL 查询本身不会中止,而是始终运行,直到加载所有数据,然后我才能在同一行上收到第二个 TaskCanceledException。

如何中止查询本身?

更新

我将 AsSplitQuery() 添加到示例中,因为事实证明它是我所经历的行为的原因(正如 …

c# entity-framework-core

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

React-native expo 应用程序无法处理 fetch api 任何人都有 expo 应用程序的解决方案

我创建了一个 Expo 应用程序,它已经运行了 6 个月。现在,当我更新我的 react-native 库时,我在 Fetch API Call 中发现了一个错误,这是一个错误:

DEALER_ERROR TypeError: Network request failed at XMLHttpRequest.xhr.onerror (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\vendor\core\whatwg-fetch.js:504) at XMLHttpRequest.dispatchEvent (D:\greensawari\ GreensawariApplicationuserside\node_modules\event-target-shim\lib\event-target.js:172) 在 XMLHttpRequest.setReadyState (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:580) 在 XMLHttpRequest .__didCompleteResponse (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:394) 在 D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\Network\XMLHttpRequest.js:507 RCTDeviceEventEmitter.emit (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\vendor\emitter\EventEmitter.js:189) 在 MessageQueue.__callFunction (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge36MessageQueue.js:189)。 ) 在 D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:106 在 MessageQueue.__guard (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js: 314) 在 MessageQueue.callFunctionReturnFlushedQueue (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:105)\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:366)在 D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:106 在 MessageQueue.__guardD :\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:314) 在 MessageQueue.callFunctionReturnFlushedQueue (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge1Message)\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:366)在 D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:106 在 MessageQueue.__guardD :\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:314) 在 MessageQueue.callFunctionReturnFlushedQueue (D:\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge1Message)\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:314) 在 MessageQueue.callFunctionReturnFlushedQueue (D:\greensawari\GreensawariApplicationuserside\node_Queues)\react-native\Libraries\BatchedBridge\BatchedBridge\10Message\greensawari\GreensawariApplicationuserside\node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:314) 在 MessageQueue.callFunctionReturnFlushedQueue (D:\greensawari\GreensawariApplicationuserside\node_Queues)\react-native\Libraries\BatchedBridge\BatchedBridge\10Message

Rveryone 面临一个问题,他们会尝试解决它,但我的问题是我使用的是 react-native-expo,所以在 expo 应用程序中,我没有 android manifest 文件,所以我如何将我的网络代码放在 expo 中应用

<?xml version="1.0" encoding="utf-8"?> …
Run Code Online (Sandbox Code Playgroud)

javascript android fetch react-native expo

5
推荐指数
0
解决办法
879
查看次数

EF Core2.2:Scaffold-DbContext 不适用于 WPF 项目中的命名连接字符串

我想在我的 .net Framework 4.7 项目中首先使用 EF Core 2.2 和数据库。运行此命令可以正常工作:

Scaffold-DbContext "data source=dbServer;initial catalog=myData;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Database
Run Code Online (Sandbox Code Playgroud)

但随后 MS 放下了这个警告:

警告 为了保护连接字符串中潜在的敏感信息,您应该将其从源代码中移出。有关存储连接字符串的指南,请参阅 http://go.microsoft.com/fwlink/?LinkId=723263

所以我认为我按照指示进行并更新了脚本如下:

Scaffold-DbContext "name=MyConnection" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Database
Run Code Online (Sandbox Code Playgroud)

这导致此错误:

使用了命名连接字符串,但在应用程序的配置中找不到名称“MyConnection”。请注意,仅在使用“IConfiguration”和服务提供程序时才支持命名连接字符串,例如在典型的 ASP.NET Core 应用程序中。有关详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=850912

命名连接本身工作正常,我已经通过注释掉由 EF 核心生成的第一行并利用第二行来测试它:

//optionsBuilder.UseSqlServer("data source=dbServer;initial catalog=myData;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework");
            optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString);
Run Code Online (Sandbox Code Playgroud)

启动程序它可以连接并按预期显示数据。但我更愿意在 Scaffold-DbContext 中设置该设置。有任何想法吗?

为了完整起见,这里是 app.config:

<?xml version="1.0" encoding="utf-8"?>
  <configuration>
    <connectionStrings>
       <add name="MyConnection" connectionString="data source=dbServer;initial catalog=myData;integrated security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />
    </connectionStrings>
 </configuration>
...
Run Code Online (Sandbox Code Playgroud)

c# entity-framework entity-framework-core

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