无法在Azure中看到使用EF创建的表和代码优先

时间:2014-04-13 09:28:12

标签: c# sql entity-framework azure ef-code-first

我运行以下行在我的数据库中创建一行。

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; }
}

我的Azure帐户上有一个数据库,当我运行以下SQL

select * from Hazoos

我收到一条红色消息告诉我:无效的对象名称'Hazoos'。起初我认为连接或类似问题存在一些问题。但是,根据日志,命令已正确并成功执行。

所以我想 - 嘿,让我们看看我们是否可以通过这条线检索所述数据。

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

令我惊讶的是,它就是!三个具有相同名称的Hazoo实例,随后提高了指数。

鸭子(打字错误)是我的数据存储?!我想使用Azure Web客户端列出它来管理我的数据库。我试图通过

查看数据库中的内容
select * from information_schema.tables

但根据这一点,任何地方都没有hazoos ......

1 个答案:

答案 0 :(得分:0)

我刚遇到同样的问题,我的上下文基础构造函数参数与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 ID=appuser@servername;Password=password;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"/>
</connectionStrings>