2017-02-23 34 views
0

我有一個asp.net core Web API應用程序的獲取和刪除請求無法正常工作,我在另一個應用程序中編寫了相同的代碼邏輯,一切正常,但現在它不再工作了。ASP,NET核心Web Api獲取和刪除請求不起作用

我第一次拿到

[HttpGet] 
public IEnumerable<People> Get() 
{ 
    return _ontext.People.Where(a => a.Id == id).Select(a => new People() 
    { 
     Id = a.Id, 
     FirstName = a.FirstName, 
     LastName = a.LastName, 
     Password = a.Password, 
     EmailAddress = a.EmailAddress 
    }).ToList(); 
} 

我的第二個獲得

[HttpGet("{id}")] 
public IQueryable<People> get(int id) 
{ 
    return _ontext.People.Where(a => a.Id == id).Select(a => new People() 
    { 
     Id = a.Id, 
     FirstName = a.FirstName, 
     LastName = a.LastName, 
     Password = a.Password, 
     EmailAddress = a.EmailAddress 
    }); 
} 

注:我的表是不是空的,但是當我打電話這些API,我得到的是[]

而且最後我刪除

[HttpDelete("{id}")] 
public IActionResult Delete(int id) 
{ 
    var people = new People() { Id = id }; 
    dbContext.Attach(people); 
    dbContext.Entry(people).State = EntityState.Deleted; 
    dbContext.SaveChanges(); 
    return Ok(people); 
} 

這稱爲當剛投用下面的消息的異常:

無法創建或跟蹤類型的實體「人物」,因爲它具有 空主鍵或替代密鑰值。

回答

0

您可以訪問這個鏈接引用您的問題:

https://github.com/aspnet/EntityFramework/issues/2951

+0

請勿張貼只包含一個鏈接的答案。總結(並以鏈接的形式添加源代碼)以防鏈接變得不可用。當鏈接變得無法訪問時,你的答案變得毫無價值 – Tseng

+0

@Tseng:好的,我明白了。對於那個很抱歉。 – Tomato32

+0

不要原諒你自己,不要僅僅用一個簡單的鏈接和問題摘要來更新這個問題,所以即使原始鏈接可能很久以前就已經消失了,未來的讀者也可以閱讀它 – Tseng