首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ef-code-first出现数据库连接错误

ef-code-first出现数据库连接错误
EN

Stack Overflow用户
提问于 2012-06-01 01:04:23
回答 2查看 1.2K关注 0票数 0

我是第一次接触ef代码,刚刚使用反向工程代码在Microsoft SQL Server2008上创建了一个现有数据库的模型。

我遇到的问题是,尽管我在连接字符串中提供了用户ID和密码,但在抱怨我的计算机名称时,它给了我一个身份验证错误,就好像我使用的是集成安全性(其实不然)。

我得到的错误是:

无法打开登录所请求的数据库\"edmTestDBContext\“。登录失败。\r\n用户'jwelty-thinkpad\jwelty‘登录失败。

我的connectionString是这样的:

数据源= ID=user;Password=userpass;MultipleActiveResultSets=True -123;初始Catalog=edmTestDB;Persist安全Info=True;User srv

在我看来,它好像忽略了我的用户ID,而使用了我的机器名称。

有趣的是,连接字符串是由实体框架工具自动生成的,它用于构建模型,而不是实际将模型连接回源数据库。

对发生了什么有什么想法吗?

我的用户名/密码具有完全权限,因为这是我在Sql Server Management Studio中使用的用户名/密码,也是我最初创建数据库的方式。

我尝试添加“集成的Security=False;”,但没有任何帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-06-01 03:56:00

看起来EF找不到您的连接字符串。确保它在正在使用的配置文件中(您可能需要将它从类库配置复制到应用程序配置),并且它与上下文类具有相同的名称,或者通过调用适当的基构造器为DbContext提供名称。例如:

代码语言:javascript
复制
public EdmTestDBContext()
 : base("name=MyConnectionStringName")
{
}
票数 0
EN

Stack Overflow用户

发布于 2012-06-01 13:51:30

EF Code-first中有一些内置的约定,例如使用来自DbContext的派生上下文类的名称在.config文件中查找相关的连接字符串。因此,如果您的上下文类被命名为BlogContext,它将首先查找以下connectionString:

代码语言:javascript
复制
<connectionStrings>
    <clear />
    <add
      name="BlogContext"
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10838054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档