この状態についてはわかりません。私は非同期データベースからデータを取得する必要があります。データをロード(async/await)
私はクラスDBビューモデルにおいて
public class Db{
public async Task<ObservableCollection<Person>> GetAllPerson()
{
using (var context = new Db())
{
// get data and return ObservableCollection<Person>
}
}
}
Iが呼び出すloaddataの機能を有しています。
public class VM{
public ObservableCollection<Person> Person { get; set; }
private readonly DB sqlRepository;
public VM()
{
sqlRepository=new DB();
LoadData();
}
private async void LoadData()
{
Person= await sqlRepository.GetAllPerson();
}
}
私は警告ました:警告CS1998この非同期メソッドは、演算子を '待つ' と同期的に実行されますが欠如しています。
どのように私の関数を非同期で実行できますか? 私は使用すべきですか?
Person=await Task.Run(()=>this.sqlRepository.GetAllPerson());
あなたはそれを試すことができます。私はPerson = await Task.Run(()=> this.sqlRepository.GetAllPerson())を使用しています。私のプロジェクトでは – Venu
このコードが同期して実行されるというメッセージが表示されます。 – leapold
警告はどの行に表示されていますか? – RizJa