在.net核心中使用多個結果集

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

在使用存儲過程檢索結果時,如何在.net核心的視圖模型中檢索和存儲多個結果集

例如,對於例如來自存儲過程,我將返回以下兩個查詢的記錄

Select * LMS_Survey
Select * from LMS_SurveyQuestion
Select * from LMS_SurveyQuestionOptionChoice

以下是兩個表的視圖模型

public class LMS_SurveyTraineeViewModel
{
    public LMS_SurveyDetailsViewModel SurveyDetailsViewModel { get; set; }
    public LMS_SurveyQuestionsViewModel SurveyQuestionsViewModel { get; set; }
    public LMS_SurveyQuestionOptionChoiceViewModel SurveyQuestionOptionChoiceViewModel { get; set; }
}

這就是我執行存儲過程的方式

public List<LMS_SurveyTraineeViewModel> GetTraineeSurvey(int surveyID)
        {
            try
            {
                List<LMS_SurveyTraineeViewModel> modelList = new List<LMS_SurveyTraineeViewModel>();

                modelList = dbcontext.Set<LMS_SurveyTraineeViewModel>().FromSql("LMSSP_GetTraineeSurvey @surveyID = {0},@LanguageID = {1}", surveyID, AppTenant.SelectedLanguageID).ToList();

                return modelList;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

如何在視圖模型中使用存儲過程存儲多個結果集?

一般承認的答案

目前,EF Core並不支持此功能。有一個未解決的問題需要解決這個問題。

https://github.com/aspnet/EntityFramework/issues/8127

更新2018年9月12日:即使對於3.0版本,這仍然不是EF Core的優先考慮事項;當你有多個結果場景時,最好使用Dapper或普通的ADO.NET


熱門答案

目前,EF Core並不支持此功能。請參閱此示例以檢索多個結果集。 https://github.com/nilendrat/EfCoreMultipleResults/



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因