小编Ano*_*ous的帖子

Fluent API,Entity Framework Core 2.0中的多对多

我使用EF Core 2.0,Code first和Fluent API 搜索stackoverflow以获得生成多对多关系的正确解决方案.

一个简单的场景是:

public class Person
{
    public Person() {
        Clubs = new HashSet<Club>();
    }
    public int PersonId { get; set; }
    public virtual ICollection<Club> Clubs { get; set; }
}

public class Club
{
    public Club() {
        Persons = new HashSet<Person>();
    }
    public int ClubId { get; set; }
    public virtual ICollection<Person> Persons { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如果我错了,请纠正我,但我老实说没有找到一个问题,其中包含如何使用所描述的工具进行详细说明.谁能解释一下这是怎么做到的?

c# entity-framework code-first ef-fluent-api

33
推荐指数
2
解决办法
2万
查看次数

在pandas数据框的任何列中删除带有"问号"值的行

我想在任何列中删除所有行(或不带所有行)的问号符号.我还想将元素更改为float类型.

输入:

X Y Z
0 1 ?
1 2 3
? ? 4
4 4 4
? 2 5
Run Code Online (Sandbox Code Playgroud)

输出:

X Y Z
1 2 3
4 4 4
Run Code Online (Sandbox Code Playgroud)

最好使用pandas数据帧操作.

python dataframe pandas

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

Prolog列表.检查列表中的第一个和最后一个元素是否相似

例:

firstlast([1,2,3,4,1]).
true;

firstlast([1,2,3,4]).
false;

firstlast([5,10,4,3]).
false;

exc...
Run Code Online (Sandbox Code Playgroud)

问题是我只允许使用谓词"firstlast"的递归.?我真的试图打破这个,但我似乎无法检查/比较最后一个元素与第一个元素.

任何提示?

list prolog dcg

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

Blazor 服务器端组件中的 @attribute [AllowAnonymous] 无效

我已经使用 .NET Core 3.0 创建了一个新的 Blazor 服务器端项目,并且已经关闭了未经过身份验证的用户的应用程序。

我现在试图通过将 [AllowAnonymous] 放在文件顶部来允许匿名访问 Index.razor 组件。然而,这似乎并没有做任何事情。

设想

使用默认的 Blazor 模板“WeatherForecast”后,我将以下内容添加到Startup.cs

services.AddMvcCore(options =>
{
    var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
    options.Filters.Add(new AuthorizeFilter(policy));
});
Run Code Online (Sandbox Code Playgroud)

如果用户未通过身份验证,这段代码会阻止对我的应用程序的所有请求。

添加那段代码后,我想为未经身份验证的用户打开默认的Index.razor组件。我通过将@attribute [AllowAnonymous]添加到 Index.razor 来做到这一点:

@page "/"
@attribute [AllowAnonymous]

<h1>Hello, world!</h1>

Welcome to your new app.
Run Code Online (Sandbox Code Playgroud)

应用程序.razor

<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
    <AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
    <CascadingAuthenticationState>
        <LayoutView Layout="@typeof(MainLayout)">
            <p>Sorry, there's nothing at this address.</p>
        </LayoutView>
    </CascadingAuthenticationState>
</NotFound>
</Router>
Run Code Online (Sandbox Code Playgroud)

预期结果

运行我的应用程序时,未经身份验证的用户将被允许访问https://localhost:XXXX的索引页面

实际结果

我的用户被转发到我的 OpenIdConnect URI。

c# .net-core asp.net-core blazor blazor-server-side

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

请求PACKAGE_USAGE_STATS的权限

我想检查用户是否已授予我的应用程序使用PACKAGE_USAGE_STATS的权限.我目前正在做的是:

// Control that the required permissions is instantiated!
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(this, Manifest.permission.PACKAGE_USAGE_STATS) != PackageManager.PERMISSION_GRANTED) {
    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.PACKAGE_USAGE_STATS}, MULTIPLE_PERMISSION_GRANTED);
}
Run Code Online (Sandbox Code Playgroud)

我已经按照Android Developer部分的描述实现了requestPermissions,它对ACCESS_FINE_LOCATION工作正常.

但是,当我的应用程序请求权限时,它只显示ACCESS_FINE_LOCATION权限而不是PACKAGE_USAGE_STATS,任何人都可以解释原因吗?如果是这样,给我一个解决方案,我该怎么做?

我希望这两个权限都显示在如下对话框中: 在此输入图像描述

java android android-permissions

4
推荐指数
1
解决办法
4279
查看次数

跨作用域 DbContext 的并发性

我有一个带有标准 DI DbContext 的标准 ASP.NET Core 2.0 Web API,如下所示:

services.AdDbContext<TestContext>( ... );
Run Code Online (Sandbox Code Playgroud)

我知道我的上下文将添加一个范围生命周期,这实质上意味着每次我的 API 收到新请求时,它都会创建一个新的上下文实例。

到现在为止还挺好。

现在,我创建了一个名为TestRepository的存储库,其中包含以下内容:

public class TestRepository : ITestRepository {
    public TestContext _context;
    public TestRepository(TestContext context) {
        _context = context;
    }

    public async Task IncrementCounter() {
        var row = await _context.Banks.FirstOrDefaultAsync();
        row.Counter += 1;
        await _context.SaveChangesAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

所以它基本上只是以 1异步方式递增列中的一个值。ITestRepository 被添加到服务 IoC 并在需要的地方注入。

设想:

用户 A调用 API,获取 TestContext 的新实例,然后调用 IncrementCounter 方法。

调用 SaveChangesAsync之前用户 B调用了 API,获得了新的 …

c# concurrency asynchronous entity-framework asp.net-core

4
推荐指数
1
解决办法
1403
查看次数

Thrust :: transform自定义函数

我正在尝试在CUDA中做一个非常基本的例子。我想对浮点数列表进行简单的计算。

vh [x] * k1 + k2

目前,我正在尝试此操作,但无法正常工作:

代码1

#include <vector>
#include <iostream>
#include <thrust/transform.h>
#include <thrust/functional.h>
#include <thrust/host_vector.h>
#include <thrust/device_vector.h>

using namespace std;
using namespace thrust;

float k1 = 42, k2 = 7;

int main(void)
{
    vector<float> vh = { 0, 1, 2, 3, 4, 5, 6, 7 };
    device_vector<float> v = vh;
    device_vector<float> v_out(v.size());

    thrust::transform(v.begin(), v.end(), v_out.begin(), [=] __device__(float x) {
        return x*k1 + k2;
    });

    for (size_t i = 0; i < v_out.size(); i++)
        std::cout << v_out[i] …
Run Code Online (Sandbox Code Playgroud)

cuda thrust

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