小编Nod*_*.JS的帖子

.NET Core 标识多种用户类型

我有多个类(ABC,每个类都扩展IdentityUser<Guid>。我还有一个名为UserRolewhich extends 的类IdentityRole<Guid>

以下是我的DbContext

public sealed class EntityDbContext: DbContext
{
    public DbSet<A> As { get; set; }

    public DbSet<B> Bs { get; set; }

    public DbSet<C> Cs { get; set; }

}
Run Code Online (Sandbox Code Playgroud)

我将身份添加到IServiceCollection

        services
            .AddIdentityCore<A>()
            .AddEntityFrameworkStores<EntityDbContext>()
            .AddRoles<UserRole>()
            .AddUserStore<AUserStore>()
            // .AddRoleStore<TRoleStore>()
            .AddDefaultTokenProviders();

        // Same for B, C
Run Code Online (Sandbox Code Playgroud)

我还有以下商店:

public class AUserStore : UserStore<A, UserRole, EntityDbContext, Guid> { } 
public class BUserStore : UserStore<B, UserRole, EntityDbContext, …
Run Code Online (Sandbox Code Playgroud)

asp.net-identity .net-core

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

.NET Core / EF.Core 3+ 将控制台日志记录添加到 DbContext

我想知道如何将控制台日志记录添加到 EF.Core 而不会收到“过时”警告。

鉴于: DbContextOptionsBuilder<BenchmarkDbContext> builder = ...;

我试过:

builder.UseLoggerFactory(new LoggerFactory().AddConsole())
Run Code Online (Sandbox Code Playgroud)

并尝试:

var factory = new LoggerFactory();

factory.AddProvider(new ConsoleLoggerProvider((a, b) => true, true));

builder.UseLoggerFactory(factory)
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-core-3.0

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

moment.js 模拟 local() 所以单元测试运行一致

我想测试下面的一段代码。我想知道是否有办法模拟moment.js或强制它认为我当前的位置是America/New_York这样我的单元测试不会在 gitlab.ci runner 中失败,它可能位于不同的地理位置?

  const centralTimeStartOfDay = moment.tz('America/Chicago').startOf('day');
  const startHour = centralTimeStartOfDay
    .hour(7)
    .local()
    .hour();
    
Run Code Online (Sandbox Code Playgroud)

基本上我想对我的时区进行硬编码,America/New_York并希望这个函数的行为一致。

编辑

我试过:

  1. Date.now = () => new Date("2020-06-21T12:21:27-04:00")
  2. moment.tz.setDefault('America/New_York')

而且,我得到了相同的结果。我想模拟当前时间,以便startHour返回一致的值。

javascript momentjs jestjs

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

自动修复,从预定义列表中随机选择

我想知道在AutoFixure中,是否可以从预定义列表中随机选择?例如,当我使用fixture.Create或时fixture.CreateMany,它将从预定义列表中随机选择一个对象。我从文档和搜索Stack Overflow中都没有找到任何类似的东西,所以我不确定是否有可能。

c# autofixture

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

如何检查Linq Expression值是否为null

我有一个lambda表达式x => x.person.parent.Id == someId,我想检查是否someId为null.我面临的问题是Id属性是一个可以为空的整数(即int?).这是我的尝试,但如果属性可以为空则它不起作用.任何帮助将不胜感激.谢谢.

    private static bool IsNullExpression(Expression exp)
    {
        if (exp is ConstantExpression constantExpression)
        {
            return constantExpression.Value == null;
        }

        return false;
    }

    public void AddIfNotNull(Expression<Func<T, bool>> exp)
    {
        // convert expression to binary expression
        if (exp.Body is BinaryExpression binaryExpression && (IsNullExpression(binaryExpression.Left) || IsNullExpression(binaryExpression.Right)))
        {
            // there is a null in expression, we just found it
            return;
        }

        _list.Add(exp);
    }
Run Code Online (Sandbox Code Playgroud)

c# linq

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

无法加载文件或程序集'Microsoft.Azure.Documents.Client-Azure-Table-Api

我正在尝试将Azure Table Api与dotnet核心一起使用,并且不断收到此异常:

Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Azure.Documents.Client, Version=1.20.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.

   at Microsoft.Azure.CosmosDB.Table.CloudTableClient..ctor(StorageUri storageUri, StorageCredentials credentials, TableConnectionPolicy connectionPolicy, Nullable`1 desiredConsistencyLevel)
   at Microsoft.Azure.CosmosDB.Table.CloudStorageAccountExtensions.CreateCloudTableClient(CloudStorageAccount account, TableConnectionPolicy connectionPolicy, Nullable`1 consistencyLevel)
   at Testing.Program.Main(String[] args) in /Desktop/Repos/TestingWow/Testing/Program.cs:line 22
Run Code Online (Sandbox Code Playgroud)

显然,这是一个常见的异常消息。我将简单的代码放在GitHub上,以防万一。我想我尝试了所有现有的StackOverFlow提示或解决方案,但都没有成功。我不确定问题的根源是什么。我在Mac上使用dotnet core 2.1.104。任何帮助将不胜感激。

.csproj 文件:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.Azure.Common" Version="2.1.4" />
    <PackageReference Include="Microsoft.Azure.CosmosDB.Table" Version="1.1.2" />
    <PackageReference Include="Microsoft.Azure.DocumentDB" Version="1.22.0" />
    <PackageReference Include="Microsoft.WindowsAzure.ConfigurationManager" Version="3.2.3" />
  </ItemGroup>
  <ItemGroup>
    <Reference …
Run Code Online (Sandbox Code Playgroud)

c# azure-table-storage asp.net-core

3
推荐指数
2
解决办法
2014
查看次数

C#模式匹配任务<T>并获取它的值

我想知道如何模式匹配a Task<T>.更具体地说,给定静态类型的变量object如何获得其Result属性.

基本上,给:

object obj = new Task<string>() // or maybe Task<IEnumerable<...>>

object result = obj... // obj.Result?
Run Code Online (Sandbox Code Playgroud)

c#

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

实现 IAsyncEnumerable 的空 IQueryable

我正在寻找一个IQueryable<T>实现IAsyncEnumerable<T>. 我当前的代码不起作用,因为空Enumerable没有实现IAsyncEnumerable<T>。感谢您的任何帮助或提示。

我有以下设计:

var result = Enumerable.Empty<Foo>().AsQueryable();  // Not working!

if (condition1)
{
    IQueryable<Foo> part1 = ....;

    result = result.Concat(part1);
}

if (condition2)
{
    IQueryable<Foo> part2 = ....;

    result = result.Concat(part2);
}

return await result.ToListAsync();
Run Code Online (Sandbox Code Playgroud)

错误信息:

The source IQueryable doesn't implement IAsyncEnumerable<Foo>. Only sources that implement IAsyncEnumerable can be used for Entity Framework asynchronous operations.
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.AsAsyncEnumerable[TSource](IQueryable`1 source)
   at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync[TSource](IQueryable`1 source, CancellationToken cancellationToken)
Run Code Online (Sandbox Code Playgroud)

c# entity-framework iqueryable

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

Polly 创建没有 ServiceCollection 的 HttpClient (IHttpClientBuilder.AddPolicyHandler)

我正在尝试使用 的IHttpClientBuilder.AddPolicyHandler方法Microsoft.Extensions.Http.Polly创建内置 Polly 策略的 HttpClient 实例。但是,我没有使用 IoC 和 ServiceCollection。如何IHttpClientBuilder在没有 ServiceCollection 和 IoC 的情况下创建,以便我可以使用扩展方法AddPolicyHandler。即使我有 的实例IHttpClientBuilder,如何创建 HttpClient?

c# dependency-injection dotnet-httpclient polly .net-7.0

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

Haskell 试图理解类型类语法

我是 Haskell 的新手,我正在尝试理解语法。我有数据类型Vec,它实现了Show,FloatingFoldable. 但是语法不同Foldable,为什么?

data Vec a = Vec [a]

instance Show a => Show (Vec a) where
   show (Vec x) = show x

instance Floating a => Floating (Vec a) where
  pi = Vec (repeat pi)
  exp (Vec x) = Vec (map exp x)
  log (Vec x) = Vec (map log x)
  sin (Vec x) = Vec (map sin x)
  cos (Vec x) = Vec (map cos x)

instance …
Run Code Online (Sandbox Code Playgroud)

syntax haskell typeclass

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