私は他の同様の投稿を行ったとお伝えしたいと思いますが、提案されたソリューションは私にとってはうまく動作しません。async/awaitで複数のクエリ(エラー:IEnumerableにToListAsync()が含まれていません)
他の2つの方法GetApptTask()
とGetZoneTask()
public async void PreprocessAppointment()
{
var task_1 = GetApptTask();
var task_2 = GetZoneTask();
await Task.WhenAll(task_1, task_2);
}
んGetApptTask()
方法で待機PreprocessAppointment()
方法:thread.Iは、Entity Framework.Iで非同期プログラミングを使用して、2つの結果を持っているとして、以下の3つのメソッドを参加しようとしています何の誤りもない。
public async Task<IEnumerable<appointments>> GetApptTask(){
var result = db.appointments.Where(d => d.appt_client_id == 15 && d.customer_id == 68009);
return await result.ToListAsync();
}
GetZoneTask()
の方法では、次のエラーが発生します。 IEnumerable <zones> does not contain definition for ToListAsync()
。
public async Task <IEnumerable<zones>> GetZoneTask()
{
var result = db.zones.Where(d => d.zone_client_id == "15").AsEnumerable().Distinct<zones>(new zones.Comparer());
return await result.ToListAsync();
}
私はこのエラー .Iはappointments
以下zones
のためだけでなくモデルの構造を装着してい引き起こしている可能性があります何かを見つけることができません。フィールド以外のモデルの唯一の違いはのComparer
クラスの定義です。あなたはAsEnumerable()
経由IEnumerable<T>
にそれを回したときに
zones.cs
public class zones
{
[Column(Order=0),Key]
[StringLength(50)]
public string zone_client_id { get; set; }
//public int zone_client_id { get; set; }
[Column(Order = 1), Key]
[StringLength(5)]
public string zip { get; set; }
[StringLength(50)]
public string zone { get; set; }
public class Comparer : IEqualityComparer<zones>
{
public bool Equals(zones x, zones y)
{
return x.zone_client_id == y.zone_client_id
&& x.zip == y.zip
&& x.zone == y.zone;
}
public int GetHashCode(zones obj)
{
return obj.zone_client_id.GetHashCode()^
obj.zip.GetHashCode()^
obj.zone.GetHashCode();
}
}
}
appointments.cs
public partial class appointments
{
public int appt_client_id { get; set; }
public int customer_id { get; set; }
[Key]
public int appt_id { get; set; }
public DateTime appt_date_time { get; set; }
[StringLength(200)]
public string recording_uri { get; set; }
public DateTime time_stamp { get; set; }
[Required]
[StringLength(20)]
public string appt_status { get; set; }
[Required]
[StringLength(5)]
public string appt_type { get; set; }
}
は、あなたが正しい使用して文を持っていますか? System.Dataを使用します。エンティティ – Mangist