EntityFramework.dll中出现类型异常,但未在用户代码中处理

时间:2016-03-29 18:47:08

标签: c# .net entity-framework rest asp.net-web-api

我在使用.NET Web API控制器和实体框架时遇到了麻烦。 我通过客户端获得了RESTful Web服务。我在客户端使用Microsoft ASP.Net Web API客户端,在服务器端使用Entity-Framework Web API控制器。

当客户端应用程序转到AddContact方法时,客户端应用程序崩溃并给我这个错误:

  

未处理的类型' System.AggregateException'发生在mscorlib.dll。

我还调试了我的服务器端代码。在_contactRepository.SaveChanges()的行上;它抛出了一个例外:

  

类型的例外   ' System.Data.Entity.Infrastructure.DbUpdateException'发生在   EntityFramework.dll但未在用户代码中处理

客户端应用程序代码(使用ASP.NET Web API客户端):

public void AddContact(Contact newContact)
{
    HttpClient client = new HttpClient();
    client.BaseAddress = new Uri("http://localhost:21855/api/Contacts");

    var resp = client.PostAsJsonAsync<Contact>("", newContact).Result;
    resp.EnsureSuccessStatusCode();
}

服务器端代码(ApiController):

// POST: api/Contacts
[ResponseType(typeof(Contact))]
public IHttpActionResult PostContact(Contact contact)
{
    if (!ModelState.IsValid)
    {
        return BadRequest(ModelState);
    }
    var lol = contact;
    var number = 1;
    _contactRepository.Add(contact);
    _contactRepository.SaveChanges();

    return CreatedAtRoute("DefaultApi", new { id = contact.ContactId }, contact);
}

0 个答案:

没有答案