小编viv*_*una的帖子

如何在Entity Framework Core 2.0中从DbDataReader转换为Task <IEnumerable <TEntity >>?

我通过以下方式在EF Core 2.0中调用存储过程.

private async Task<IEnumerable<TEntity>> InvokeStoredProcedureAsync(string entityName)
{
    var storedProcedureName = string.Format(CultureInfo.InvariantCulture, "sp_{0}BulkSelect", entityName);
    dynamic temp;
    using (MyDbContext MyDbContext = new MyDbContext(_options))
    {
        MyDbContext.Database.OpenConnection();
        DbCommand cmd = MyDbContext.Database.GetDbConnection().CreateCommand();
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = storedProcedureName;

        using (var reader = cmd.ExecuteReader())
        {
           temp = reader.Cast<Task<IEnumerable<TEntity>>>();
        }
    }

    return await temp;
}
Run Code Online (Sandbox Code Playgroud)

我需要转换DbDataReaderTask<IEnumerable<TEntity>>.

但是在尝试扩展temp变量以查看其值时,我收到此错误.

读取器关闭时无效尝试调用FieldCount.

请参阅随附的屏幕截图.

在此输入图像描述

c# entity-framework entity-framework-core asp.net-core ef-core-2.0

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

如何添加日期时间验证范围

我的 blazor 服务器端组件有一个简单的输入模型。我想对 DateTime 属性使用内置验证。

[Required]
public DateTime Date { get; set; }
Run Code Online (Sandbox Code Playgroud)

我如何才能只接受 DateTime 值 >= DateTime.Now?

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

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

如何在 Azure DevOps 中查看用户跨多个存储库的提交?

我希望在 Azure DevOps 中查看用户在我的组织中的所有存储库中的提交。我看不到这样的选项可用。

我可以在 Azure DevOps 中看到以下选项,但它显示单个存储库中的提交。

在此输入图像描述

我知道我们可以使用下面的 git 命令来查看单个存储库中的提交。

git log --author<AuthorName> --all ( or --branches)
Run Code Online (Sandbox Code Playgroud)

git git-log azure-devops

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

无法跟踪实体类型'xTestType'的实例,因为已经跟踪了具有相同密钥的此类型的另一个实例?

我正在尝试从表中删除多行.但它在第一次迭代后出现以下错误.我可以看到主键Id0所有的xTestType对象.这可能是问题所在.为什么总是给予Id 0.

foreach (var temp in oldxDetails.TestTypes)
{
  if (deleteTestTypes.Contains(input.Id))
  {
    var xTestType = new xTestType
    {
      xId = xId,
      TestTypeMasterId = temp.Id
    };

    await _xTestRepository.DeleteAsync(xTestType);
  }
}
Run Code Online (Sandbox Code Playgroud)

例外:

The instance of entity type 'xTestType' cannot be tracked because another instance of this type with the same key is already being tracked. When adding new entities, for most key types a unique temporary key value will be created if no key is …

c# entity-framework entity-framework-core asp.net-core aspnetboilerplate

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

字符串值不正确:第 1 行“DisplayName”列的“\xD8\xA7\xD9\x84\xD8\xB9...”

运行服务器端代码时出现以下异常。

\n\n
\n
FATAL 2018-04-25 14:41:59,757 [1    ] Abp.AbpBootstrapper             \n- Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. --->\nMySql.Data.MySqlClient.MySqlException: Incorrect string value:\n\'\\xD8\\xA7\\xD9\\x84\\xD8\\xB9...\' for column \'DisplayName\' at row 1 --->\nMySql.Data.MySqlClient.MySqlException: Incorrect string value:\n\'\\xD8\\xA7\\xD9\\x84\\xD8\\xB9...\' for column \'DisplayName\' at row 1    at\nSystem.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at\nSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task\ntask)    at\nSystem.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1.ConfiguredValueTaskAwaiter.GetResult()\nat\nMySqlConMyCompanytor.Core.ResultSet.<ReadResultSetHeaderAsync>d__1.MoveNext()\nin\nC:\\projects\\mysqlconMyCompanytor\\src\\MySqlConMyCompanytor\\Core\\ResultSet.cs:line\n43    --- End of inner exception stack trace ---    at\nMySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet(ResultSet\nresultSet) in\nC:\\projects\\mysqlconMyCompanytor\\src\\MySqlConMyCompanytor\\MySql.Data.MySqlClient\\MySqlDataReader.cs:line\n92    at\nMySql.Data.MySqlClient.MySqlDataReader.<ReadFirstResultSetAsync>d__65.MoveNext()\nin\nC:\\projects\\mysqlconMyCompanytor\\src\\MySqlConMyCompanytor\\MySql.Data.MySqlClient\\MySqlDataReader.cs:line\n297\n--- End of stack trace from previous location where exception was thrown ---    at\nSystem.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()    at\nSystem.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task\ntask)    at\nMySql.Data.MySqlClient.MySqlDataReader.<CreateAsync>d__64.MoveNext()\nin\nC:\\projects\\mysqlconMyCompanytor\\src\\MySqlConMyCompanytor\\MySql.Data.MySqlClient\\MySqlDataReader.cs:line\n287\n--- End of stack trace from previous location …
Run Code Online (Sandbox Code Playgroud)

c# mysql collation asp.net-boilerplate aspnetboilerplate

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

将 ASP.NET Core Web Api 中的初始化步骤放在哪里?

如果您熟悉生产代码,您总是会遇到需要在服务中请求/处理任何内容之前调用的逻辑。

我个人将它包装成这样的东西并从DI框架调用它:

public interface IMigrator
{
    Task UpdateAsync();
}
Run Code Online (Sandbox Code Playgroud)

例如:

  • 从代码迁移数据库
  • 静态缓存初始化
  • 种子应用于数据库
  • root帐户的身份验证,
  • ...

我目前对 Web API 框架不太精通,需要知道应该将该逻辑放在哪里?在Startup.Configure?合适吗?如果需要(比如说 10 分钟),结果会怎样?

需要您的建议:

public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services
            .AddControllers();
            services.Register(new CoreModule(), new DataModule());
    }

    // This method gets called by the …
Run Code Online (Sandbox Code Playgroud)

c# iis-express docker asp.net-core-webapi entity-framework-migrations

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

Visual Studio 未显示 WSL2 启动配置文件

我刚刚将我的 Visual Studio 社区 2019 更新到了 16.9.1 版。但是我看不到文档中提到的 WSL2 配置文件。

此外,我的机器具有所有先决条件

我已尝试使用现有和新的控制台应用程序、目标框架为 .net core 3.1 和 .NET 5 的 Web 应用程序,但未显示该选项。

另外,我尝试将以下设置添加到 launchSettings.json 文件中,但是在使用此更改运行时,它显示错误

该项目不知道如何运行 Profile WSL 2。

"WSL 2": {
    "commandName": "WSL2",
    "launchBrowser": true,
    "launchUrl": "https://localhost:5001",
    "environmentVariables": {
        "ASPNETCORE_URLS": "https://localhost:5001;http://localhost:5000",
        "ASPNETCORE_ENVIRONMENT": "Development"
    },
    "distributionName": ""
}
Run Code Online (Sandbox Code Playgroud)

c# visual-studio visual-studio-2019 .net-5 c#-9.0

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

与服务器成功建立连接,但在登录前握手期间发生错误。(提供商:SSL 提供商,错误:0

我在从 IIS 部署的应用程序 Asp.Net Core 3.1 API 进行数据库调用时遇到以下异常。

与服务器成功建立连接,但在登录前握手期间发生错误。(提供商:SSL 提供商,错误:0 - 等待操作超时。)

如果我在 IIS 中重新启动应用程序,它会按预期工作。但几天后这个错误又会出现。所以我需要一个永久的解决方案和解决这个问题的根本原因。

连接字符串:

"数据源=ABC.PQR.XYZ.IT.SQL;初始目录=DBName;用户ID=用户;密码=***",

笔记:

相同的应用程序在不同的服务器上按预期工作并指向不同的数据库。

c# sql-server iis ssl asp.net-core

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

如何在 Azure DevOps 中关注整个 wiki?

现在用户可以按页面订阅维基。wiki 中有大约 100 个页面,并且新页面的创建也非常频繁。那么,如果 wiki 有任何更改,有什么方法可以收到通知吗?

我关注了这个bug,据说官方还没有支持。

因此,如果有人有这方面的最新更新,或者有任何解决方法可以订阅整个 wiki,请更新。

如果有API来获取所需的信息也能解决目的。

azure-devops azure-devops-wiki

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

由于证书链中的错误,远程证书无效:UntrustedRoot with SendGrid in Docker

我正在使用 SendGrid 发送电子邮件 .net5 windows 服务,当我从 Visual Studio 本地运行应用程序时,它按预期工作。SendEmailAsync但当我在 Docker 中运行应用程序时,它给出了一个例外。

例外:

由于证书链中的错误,远程证书无效:UntrustedRoot

List<Personalization> personalizations = new List<Personalization>();
Personalization personalization = new Personalization();

personalization.From = new EmailAddress(emailDetails.SenderMailID);
personalization.Tos = GetRecipientsList(emailDetails.RecipientMailID);
personalization.Subject = emailDetails.Subject;
personalizations.Add(personalization);
var msg = new SendGridMessage
{
    From = new EmailAddress(emailDetails.SenderMailID),
    Subject = emailDetails.Subject
};
msg.AddContent(MimeType.Html, emailDetails.Message);
msg.Personalizations = personalizations;
var sendGridClient = new SendGridClient(apiKey);
var sendGridResponse = await sendGridClient.SendEmailAsync(msg);
Run Code Online (Sandbox Code Playgroud)

Docker 文件:

#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your …
Run Code Online (Sandbox Code Playgroud)

c# sendgrid docker .net-core .net-5

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