gpt4 book ai didi

entity-framework-core - EFCore FromSql 异步

转载 作者:行者123 更新时间:2023-12-04 01:45:52 27 4
gpt4 key购买 nike

我想并行执行几个 SELECT 存储过程调用。
我设置我的上下文如下:

public virtual DbSet<Task<GetCaseCaseContextModel>> CaseGetCaseContextData { get; set; }
我的 repo 类然后执行以下操作:
public async Task<List<GetCaseNotesContextModel>> GetCaseNotes(string caseId)
{
var notes = _context.CaseGetCaseContextData.FromSql("x_Fortellis_CaseGetCaseNotes @p0", caseId, caseId).ToListAsync();

return notes;
}
但我收到以下错误:

Severity Code Description Project File Line Suppression StateError CS0029 Cannot implicitly convert type 'System.Threading.Tasks.Task<System.Collections.Generic.List<System.Threading.Tasks.Task<CaseManagement.Infrastructure.Database.Repo.Case.GetCase.GetCaseCaseContextModel>>>' to 'System.Collections.Generic.List<CaseManagement.Infrastructure.Database.Repo.Case.GetCase.GetCaseNotesContextModel>' CaseManagement.Infrastructure.Database C:\Dev\Bitbucket\webscv\Fortellis\CaseManagement\CaseManagement.Infrustructure.Database\Repo\Case\GetCase\GetCaseRepoHelper.cs 72 Active


当我将上下文更改为:
public virtual Task<DbSet<GetCaseCaseContextModel>> CaseGetCaseContextData { get; set; }
我收到以下错误:

Severity Code Description Project File Line Suppression StateError CS1061 'Task<DbSet>' does not contain a definition for 'FromSql' and no accessible extension method 'FromSql' accepting a first argument of type 'Task<DbSet>' could be found (are you missing a using directive or an assembly reference?) CaseManagement.Infrastructure.Database C:\Dev\Bitbucket\webscv\Fortellis\CaseManagement\CaseManagement.Infrustructure.Database\Repo\Case\GetCase\GetCaseRepoHelper.cs 70 Active


我最终想使用以下方法调用它们:
GetCaseCaseContextModel caseData = new GetCaseCaseContextModel();
List<GetCaseNotesContextModel> notes = new List<GetCaseNotesContextModel>();

Parallel.Invoke(
async () => caseData = await GetCaseData(caseId, dealerGroupId),
async () => notes = await GetCaseNotes(caseId)
);

return new GetCaseContextModel()
{
CaseData = caseData,
Notes = notes
};
谢谢
亚历克斯

最佳答案

你必须重写:

public async Task<List<GetCaseNotesContextModel>> GetCaseNotes(string caseId)
{
var notes = await _context.CaseGetCaseContextData.FromSql("x_Fortellis_CaseGetCaseNotes @p0", caseId, caseId).ToListAsync();
return notes;
}
放入 await

关于entity-framework-core - EFCore FromSql 异步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55267883/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com