我正在使用ASP.NET和現有的Azure數據庫構建Web Api。我遇到了實體框架和Azure數據庫的問題。我使用ADO.NET來產生所有從與代碼第一個版本的數據庫模型類的..實體框架從Azure DB返回每個表而不是一個
這是與ADO.NET生成我的DbContext的一個片段:
public IntelliMonDbContext()
: base("name=IntelliMonDbContext")
{
}
public virtual DbSet<C__MigrationHistory> C__MigrationHistory { get; set; }
public virtual DbSet<Device> Devices { get; set; }
所有的dbset屬性都有一個名爲OnModelCreating的方法。我不太確定那是幹什麼的,但是因爲它產生了,我不認爲這是我的方法所在。
我的問題是,在我的DevicesController中,我試圖以JSON格式返回所有設備的列表,但是它將返回Azure數據庫中的所有表。我試圖在數據庫而不是設備查詢其他表,但我得到完全相同的結果。即使當我嘗試請求一個特定的device-id時,我也會得到一個JSON對象中的所有表。
// GET: api/Devices
public IEnumerable<Device> GetDevices()
{
return db.Devices.ToList();
}
我以前和lokal db和entity-framework一起工作過,我從來沒有遇到任何問題。我不明白上面的查詢可以如何在一個JSON對象中給我DB中的所有表。使用ADO.NET生成模型時,我錯過了一個關鍵步驟嗎?這可能是什麼問題?我已經盡力尋找類似的帖子,但我找不到任何匹配的內容,因爲這感覺就像是一件簡單的事情,不應該出錯。
如果需要,我會提供更多信息。
聽起來像渴望加載到我。 – Maarten
嘗試從DbSets中取出虛擬內容,除非您正在進行某些高級或嘲弄操作。 –
我試過了,但是結果完全一樣..還有其他建議嗎?我不明白這個問題是什麼。我曾多次與當地的dbs合作過,並沒有遇到過這樣的問題。 – emmep