Programlamadan vazgeçme konusunda çok yeniyim ve mevcut işlevleri bozmadan uyumsuzluğu gerçekleştirmem isteniyor. Benim Web API Servis Katmanı olarak Böyle bir şey var:Sistem koleksiyonlarını bekleyemez Genelde
public IList<Entities.Case.CreateCaseOutput> createCase(ARC.Donor.Data.Entities.Case.CreateCaseInput CreateCaseInput, ARC.Donor.Data.Entities.Case.SaveCaseSearchInput SaveCaseSearchInput)
{
Repository rep = new Repository();
string RequestType = "Insert";
string strSPQuery = string.Empty;
List<object> listParam = new List<object>();
SQL.CaseSQL.getCreateCaseParameters(CreateCaseInput, RequestType, out strSPQuery, out listParam);
var AcctLst = rep.ExecuteStoredProcedure<Entities.Case.CreateCaseOutput>(strSPQuery, listParam).ToList();
if (!string.IsNullOrEmpty(AcctLst.ElementAt(0).o_case_seq.ToString()))
saveCaseSearch(SaveCaseSearchInput, AcctLst.ElementAt(0).o_case_seq);
return AcctLst;
}
Ve bu SaveCaseSearch uyumsuz uygulanır:
public async Task<IList<Entities.Case.SaveCaseSearchOutput>> saveCaseSearch(ARC.Donor.Data.Entities.Case.SaveCaseSearchInput SaveCaseSearchInput,Int64? case_key)
{
Repository rep = new Repository();
string strSPQuery = string.Empty;
List<object> listParam = new List<object>();
SQL.CaseSQL.getSaveCaseSearchParameters(SaveCaseSearchInput, case_key,out strSPQuery, out listParam);
var AcctLst = await rep.ExecuteStoredProcedure<Entities.Case.SaveCaseSearchOutput>(strSPQuery, listParam).ToList();
return AcctLst;
}
Ama diyor ki:
ExecuteStoredProcedure benziyor :
public IEnumerable<T> ExecuteStoredProcedure<T>(string strSPQuery, List<object> parameters)
{
_msg = "";
try
{
this._context.Database.CommandTimeout = 280;
return this._context.Database.SqlQuery<T>(strSPQuery, parameters.ToArray());
}
catch (Exception ex)
{
_msg = "ERROR: " + ex.Message;
if (ex.InnerException != null) { _msg += "INNER EXCEPTION: " + ex.InnerException; }
log.Info(_msg);
}
return null;
}
Ne yapılabilir? ToListAsync() bir şey mi bakıyorsunuz? Denedim zaman
var ve ExecuteStoredProcedure tanımını değiştirerek
public Task<IEnumerable<T>> ExecuteStoredProcedure<T>(string strSPQuery, List<object> parameters)
{
_msg = "";
try
{
this._context.Database.CommandTimeout = 280;
return this._context.Database.SqlQuery<T>(strSPQuery, parameters.ToArray());
}
catch (Exception ex)
{
_msg = "ERROR: " + ex.Message;
if (ex.InnerException != null) { _msg += "INNER EXCEPTION: " + ex.InnerException; }
log.Info(_msg);
}
return null;
}
hata üretir: örtük 'türü dönüştürülemez
Hata 13 System.Data.Entity.Infrastructure .DbRawSqlQuery 'ila' System.Threading.Tasks.Task> 'C: \ Users \ m1034699 \ Desktop \ Stuart_V2_12042016 \ Stuart Web Hizmeti \ ARC.Donor.Data \ Repository.cs 115 24 ARC.Donor.Data
Bunu nasıl yapacağından emin değilim. Lütfen yardım et.
'ToListAsync()' 'System.Data.Entity' ad. Yapmaya çalıştığınız şeyden pek emin değilim, sadece tek bir göreviniz var gibi görünüyor ve geri dönüş değerini bile kullanmıyorsunuz. Async koduna gerçekten ihtiyacınız var mı? –
'ExecuteStoredProsedürü' Görev döndürülmelidir > ' –
bitbonk
Aynı şeyi denedim. Ama ekli hatayı aldım. :( – StrugglingCoder