小编Dan*_*yak的帖子

EF6模型首先无法导入函数

我在实体框架 6 中有一个模型优先的数据库模型,并且我一直在尝试导入一个标量函数以用于排序;但是,虽然 EF 确实找到了该函数,但由于某种原因无法导入它。

没有错误消息或任何内容,从数据库添加的函数根本不会显示在“添加函数导入”窗口中,但它会显示在模型浏览器的数据库存储中。

函数导入

空下拉列表

模型浏览器

c# entity-framework entity-framework-6

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

Moq DbSet NotImplementedException

我有一个 Moq DbSet,直到最近一直在工作,但是自从上次更新依赖项以来,它一直在抛出一个NotImplementedExceptiononIQueryable.Provider

使用的代码如下:

var mockSet = new Mock<DbSet<A>>();
var list = new List<A>();
var queryable = list.AsQueryable();
mockSet.As<IQueryable<A>>().Setup(m => m.Provider).Returns(queryable.Provider);
mockSet.As<IQueryable<A>>().Setup(m => m.Expression).Returns(queryable.Expression);
mockSet.As<IQueryable<A>>().Setup(m => m.ElementType).Returns(queryable.ElementType);
mockSet.As<IQueryable<A>>().Setup(m => m.GetEnumerator()).Returns(() => queryable.GetEnumerator());

var f =mockSet.Object.FirstOrDefault(); // NotImplementedException thrown here
Run Code Online (Sandbox Code Playgroud)

抛出的异常如下:

System.NotImplementedException
The member 'IQueryable.Provider' has not been implemented on type
'DbSet`1Proxy_1' which inherits from 'DbSet`1'.
Test doubles for 'DbSet`1' must provide implementations of methods
and properties that are used.
Run Code Online (Sandbox Code Playgroud)

c# entity-framework moq dbset

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

带有 ASP.NET Core 2.1 Identity 的 IdentityServer4 - 加载外部登录信息时出错

我正在尝试使用我自己的 SSO 用户存储来让 IdentityServer4 与 ASP.NET Core Identity 一起使用。虽然指南看起来相当简单,并且身份验证过程本身似乎有效,但在应用程序(另一个 ASP.NET Core MVC 应用程序)中,我收到以下错误:

Error loading external login information

我的设置如下:

对于 ASP.NET MVC 应用程序(客户端):

services.AddIdentity<IdentityUser, IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>();

JwtSecurityTokenHandler.DefaultInboundClaimTypeMap.Clear();

services.AddAuthentication(options =>
{
    options.DefaultScheme = "Cookies";
    options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies", options =>
{
    options.ExpireTimeSpan =TimeSpan.FromMinutes(30);
})
.AddOpenIdConnect("oidc", options =>
{
    options.SignInScheme = "Cookies";

    options.Authority = "https://localhost:5001/";

    options.ClientId = "clientId";
    options.ClientSecret = "secret";
    options.SaveTokens = true;
    options.ResponseType = "code id_token";
    options.Scope.Add(IdentityServerConstants.StandardScopes.Profile);
    options.Scope.Add(IdentityServerConstants.StandardScopes.Email);
    options.Scope.Add(IdentityServerConstants.StandardScopes.OfflineAccess);

    options.GetClaimsFromUserInfoEndpoint = true;
});
Run Code Online (Sandbox Code Playgroud)

对于 IdentityServer4 应用程序:

services.AddScoped<UserManager<User>, MyUserManager>();
services.AddIdentity<User, …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-identity identityserver4 asp.net-core-2.0

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