2014-04-13 26 views
0

我已經運行以下幾行來在我的數據庫中創建一行。在Azure中無法看到使用EF和代碼優先創建的表

Hazoo hazoo = new Hazoo { Name = "Ha Zoo" }; 
context.Hazoos.Add(hazoo); 
context.SaveChanges(); 

該類型定義如下。

[Table("Hazoos")] 
public class Hazoo 
{ 
    [Key] 
    public int HazooId { get; set; } 
    public String Name { get; set; } 
} 

我有一個DB我Azure的帳戶,當我運行下面的SQL

select * from Hazoos 

我得到一個紅色的消息告訴我:無效的對象名稱Hazoos「。起初我認爲有關於連接或類似的問題。但是,根據日誌,命令已正確併成功執行。

所以我想 - 嘿,讓我們看看我們是否可以檢索所述數據 - 通過這一行。

List<Hazoo> hazoos = context.Hazoos.ToList<Hazoo>(); 

令我驚訝的是,它是!三個同名的Hazoo事件,隨後引發索引。

那裏的鴨(打算打字)是我的數據存儲?!我想使用Azure Web客戶端來管理我的數據庫。我試圖通過

select * from information_schema.tables 

但根據的是,有任何地方沒有hazoos檢查出什麼在DB ...

+0

使用[MyDatabase的]手動創建表的 – ErikEJ

+0

@ErikEJ我得到的結果(都與*使用MyCoolDb盯着*,無時。可悲的是,既沒有辦法的給了我對創建表的任何命中EF ... –

回答

0

我只是有這個同樣的問題,這是我的上下文基類的構造參數沒」 t匹配web.config中的連接字符串名稱。

我相信這些表實際上是在localdb上成功創建的。

public MyDbContext() : base("MyDbContext") {} 

<connectionStrings> 
<add name="MyDbContext" providerName="System.Data.SqlClient" connectionString="Server=tcp:servername.domain.win.net,1433;Database=MyDb;User [email protected];Password=password;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"/> 
</connectionStrings> 
+0

您是否也可以發佈相應的配置文件行?是否構造函數自動生成,但參數不正確?還是自動生成,沒有調用基址? –

+0

我更新了整篇連接字符串(敏感信息用戶/服務器名稱,密碼被替換)我的MyDbContext完全是手工輸入的,而不是自動生成的,我只是錯誤輸入了base參數,並且它與web.config中的連接字符串名稱不匹配。因此EF正在創建一個默認的con在我的PC上連接到localdb而不是點擊Azure。 –