使用Entity Framework代码优先方法创建的数据库的默认物理位置

Ras*_*ash 8 c# datacontext entity-framework

我正在学习实体框架。我使用实体框架代码优先方法(未指定任何连接字符串)创建了一个演示应用程序。

static void Main(string[] args)
    {
        CreateBlog();
    }

    private static void CreateBlog()
    {
        var ObjBlog = new Blog
            {
                BloggerName = "Rasmita",
                Title = "EntityFramework"
            };
        var Ctx = new Context();
        Ctx.Blogs.Add(ObjBlog);
        Ctx.SaveChanges();
    }
Run Code Online (Sandbox Code Playgroud)

控制台应用程序运行良好,它创建了数据库,我能够从中获取数据。但是,我看不到它。我的意思是我想知道它在哪里创建的?在本地SQL服务器或Visual Studio本地数据库中???

应用配置

    <?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>
Run Code Online (Sandbox Code Playgroud)

上下文类

using System.Data.Entity;
using BlogsApp;

namespace DataLayer
{
    public class Context:DbContext
    {
        public DbSet<Blog> Blogs { get; set; }
        public DbSet<Post> Posts { get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在使用EntityFramework 6.1.1,.Net Framework 4.5,Visual Studio2012。我的计算机上安装了SqlServer 2012。请帮助我找到Db

dar*_*ffo 5

它在您的SQLEXPRESS实例中。可能会被称为ConsoleApplication1.Context。如果您有sql server studio管理器,请使用。\ SQLEXPRESS作为服务器名称,然后您将在其中看到数据库。您可以从此处获取文件位置,但应位于

C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data

要么

C:\ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Data

如果您正在运行32位窗口。

从这里

“如果安装了SQL Express(包含在Visual Studio 2010中),则会在本地SQL Express实例(。\ SQLEXPRESS)上创建数据库。如果未安装SQL Express,则Code First将尝试并使用LocalDb((localdb)\ v11 .0)-Visual Studio 2012随附LocalDb”

从这里

http://msdn.microsoft.com/en-us/data/jj591621.aspx


mat*_*tpm 5

在没有指定连接字符串且没有默认SQLServerExpress实例的情况下,EntityFramework在用户文件夹(例如C:\ Users [您的用户名])中创建sql数据库文件,其名称与您的项目相同。

该文件似乎没有绑定到SQL Server,即您可以自由移动它们。