Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework Can';在SQLServerManagementStudio中看不到EF数据库_Entity Framework - Fatal编程技术网

Entity framework Can';在SQLServerManagementStudio中看不到EF数据库

Entity framework Can';在SQLServerManagementStudio中看不到EF数据库,entity-framework,Entity Framework,我已经使用EF代码创建了一个数据库,就像这里一样。但当我通过add()将数据输入数据库,然后调用savechanges()时,我在SQL Server数据库文件夹中没有看到新数据库,也没有异常。是这样吗?在哪里可以找到我的数据库以及如何将其放入数据库文件夹 我使用以下代码: public class Name { public long NameId { get; set; } public string FullName { get; set;

我已经使用EF代码创建了一个数据库,就像这里一样。但当我通过
add()
将数据输入数据库,然后调用
savechanges()
时,我在SQL Server数据库文件夹中没有看到新数据库,也没有异常。是这样吗?在哪里可以找到我的数据库以及如何将其放入数据库文件夹

我使用以下代码:

     public class Name
      {
       public long NameId { get; set; }
       public string FullName { get; set; }
      }

   public class InfoContext : DbContext
     {
       public DbSet<Name> Names { get; set; }        
     }
我在web.config中有如下连接字符串:

     <connectionStrings>
     <add name="InfoName" providerName="System.Data.SqlClient" 
     connectionString="Server = .\MYINSTANCE; Initial Catalog=mydbname;" />
   </connectionStrings>

根据您的评论,您需要修改项目根目录中的
web.config
文件(而不是
视图
文件夹中的文件)。您可以在其中添加如下部分:

<connectionStrings>
    <add name="EFDbContext" connectionString="Data Source = .; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
</connectionStrings> 
那么您的配置应该是:

<connectionStrings>
    <add name="SomeContext" connectionString="Data Source = .; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>
</connectionStrings>


至于连接字符串,它取决于您的数据库。

检查配置中的defaultConnectionFactory类型。我希望它设置为LocalConnectionFactory,因为这似乎是默认的

将其更改为以下内容,将使用您的SQL实例

<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True;" />
  </parameters>
</defaultConnectionFactory>

数据库应以与命名空间和数据库上下文相匹配的名称出现在SQL Management Studio(SQLMS)中。

或者,您可以输入在SQL Management Studio中选择的“Data Source=”值服务器名称

<connectionStrings>
<add name="SomeContext" connectionString="Data Source = **Server'sName**; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>


听起来你没有连接到正确的SQL server实例。检查你的app.config,看看键
defaultConnectionFactory
有什么。在我的项目mvc4中没有app.config作为默认值。如何创建和填充它?当我重新启动调试模式时,我会收到关于现有数据库和建议的异常d迁移。如果出现该错误,则DbContext正在连接到某个对象。是否存在web.config文件?我在主文件夹中有web.config,其中包含connectionstring和视图。您的DbContext是InfoContext,而connectionstring名称是“InfoName”。除非添加构造函数重载以指定连接字符串名称,否则它们必须相同。我添加了代码示例。如果我像使用SomeContext类名一样使用cString名称,则会发生错误(错误的cString)。
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True;" />
  </parameters>
</defaultConnectionFactory>
<connectionStrings>
<add name="SomeContext" connectionString="Data Source = **Server'sName**; Initial Catalog = ITSDB; Integrated Security = true" providerName="System.Data.SqlClient"/>