将工作者角色与EF 6连接到Azure sql数据库

时间:2017-05-14 19:58:32

标签: azure entity-framework-6 azure-worker-roles

我正在尝试设置一个辅助角色来根据Azure sql数据库中的数据进行读取和操作。 我像这样设置连接字符串:

public DBEntities(string connectionString) : base(connectionString) {}

每当我尝试运行worker角色localy时,我在查询实体时会收到以下错误:

System.Data.Entity.Infrastructure.UnintentionalCodeFirstException:'在Code First模式下使用上下文,其中包含从EDMX文件生成的用于Database First或Model First开发的代码。

查询实体:

using (ctx = new CODDBEntities(_connectionString))
{
   var result =  ctx.entity.ToList().FindAll();
}

我做错了什么?

2 个答案:

答案 0 :(得分:0)

您似乎正在指定数据库初始化策略。

尝试以下内容:

public CODDBEntities()
{
    Database.SetInitializer<CODDBEntities>(null);//Disable initializer
}

此处有更多信息:http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

答案 1 :(得分:0)

Finnaly我明白了。使用this文章我明白我使用了错误的连接字符串类型。我需要使用从 - metadata = res:// * / ...开始的那个,而我只是从Azure门户中删除了默认连接字符串。