我正在使用实体框架和asp.net web API。我想使以下方法异步,但我不知道在下面的代码中使用await的位置。
[HttpPost]
public async Task<IHttpActionResult> CreateAccount([FromUri]string fullname, string email, string cnic,string username,string password, string logrol )
{
using (var entity = new Smock_DBEntities())
{
Person pr = new Person();
pr.Full_Name = fullname;
pr.Email = email;
pr.CNIC = cnic;
entity.Persons.Add(pr);
entity.SaveChanges();
int prID = entity.Persons.Where(per => per.CNIC == cnic).Select(per => per.Person_ID).First();
Login log = new Login();
log.Person_ID = prID;
log.Username = username;
log.Password = password;
log.Login_Role = logrol;
entity.Logins.Add(log);
entity.SaveChanges();
return Ok();
}
}
答案 0 :(得分:2)
将它作为答案与可能的地方(3个地方)放在一起,你可以等待你的代码片段。
[HttpPost]
public async Task<IHttpActionResult> CreateAccount([FromUri]string fullname, string email, string cnic,string username,string password, string logrol )
{
using (var entity = new Smock_DBEntities())
{
Person pr = new Person();
pr.Full_Name = fullname;
pr.Email = email;
pr.CNIC = cnic;
entity.Persons.Add(pr);
await entity.SaveChangesAsync();
int prID = await entity.Persons.Where(per => per.CNIC == cnic).Select(per => per.Person_ID).FirstAsync();
Login log = new Login();
log.Person_ID = prID;
log.Username = username;
log.Password = password;
log.Login_Role = logrol;
entity.Logins.Add(log);
await entity.SaveChangesAsync();
return Ok();
}
}