首先使用代码创建一个网站,为了我自己的想法,我希望能够在您首先使用数据库并在VS2010中创建SQL服务器数据库时探索它创建的数据库。
我看了一下,我能找到的唯一相关信息似乎是先使用以前存在的db代码,我希望db首先由代码生成,我只是想知道它在哪里,或者如何更改它的默认位置,以便我可以查看它。
我在配置文件中有一个连接字符串的小提琴,但不知道我在做什么,所以没有在那里取得任何成功。它与custon连接字符串一起工作正常,但我仍然不知道db文件在哪里!
答案 0 :(得分:8)
C:\Users\YourCurrentUserName
我在上面的目录中找到了它 通过在Context类名称上进行Windows搜索。
答案 1 :(得分:7)
EF Code First有多种方法可以定义数据库的创建位置和方式。实际上它有一些Conventions(代替特定的配置或代码)。我更喜欢具体(请参阅下面的连接字符串示例),但如果使用约定,则由Microsoft定义如下:
以下是该页面的摘录:
连接字符串约定
实体框架使用默认约定来创建 localhost \ SQLEXPRESS实例或LocalDB服务器上的数据库,和 在派生的完全限定类型名称之后命名数据库 上下文(例如,CodeFirstModel.SchoolEntities)。
Visual Studio 11包含LocalDb数据库服务器而不是 SQLEXPRESS。在安装过程中,EntityFramework NuGet包 检查哪个数据库服务器可用。然后NuGet包 通过设置默认数据库服务器来更新配置文件 Code First在按惯例创建连接时使用。如果 SQLEXPRESS正在运行,它将被使用。如果SQLEXPRESS不可用 然后将LocalDb注册为默认值。没有变化 如果配置文件已包含设置,则对配置文件进行配置 默认连接工厂。如果设置了连接字符串 代码,然后在代码中设置的实例将优先于任何东西 在配置文件中找到。
当应用程序随后运行时,除非是模型 更改后,将使用现有数据库。如果模型改变了 如果没有设置初始化程序,您将获得异常:“模型 自数据库以来,支持'ContextName'上下文已经改变 创建。请考虑使用Code First Migrations来更新数据库。“
覆盖数据库名称的Code First约定的一种方法是 添加包含连接的App.config或Web.config文件 与您的上下文类型同名的字符串。 .config文件 应该添加到包含可执行程序集的项目中。
注意:使用Code First时,您的连接字符串应该是 常规数据库连接字符串。与实体合作时 Framework Designer,连接字符串应该是 EntityConnection字符串。
以下是我的一个EF Code First连接字符串的示例:
<add name="NameOfYourDbContextClass" connectionString="Data Source=YOUR-DB-SERVER;Initial Catalog=THE-DB-NAME-YOU-WANT;Persist Security Info=True;Trusted_Connection=true;" providerName="System.Data.SqlClient" />
要记住的最后一件事......连接字符串(以及一般的配置)由应用程序上下文定义。换句话说,如果您在另一个项目中拥有数据访问类(基于DbContext),则仍需要在web.config(在Web项目中)中定义连接字符串作为示例。
祝你好运!答案 2 :(得分:0)
Scott Gu wrote a good article。如果你想直接找到有关连接字符串的部分,你可以搜索连接,然后生成将解释生成过程。
答案 3 :(得分:0)
如果您使用的是sql server或sql server express,则需要 Sql Server Management Studio
如果您使用的是紧凑版本,则解决方案中的app_data下应该有一个文件。您应该能够通过查看Web.config文件来确定这一点。
答案 4 :(得分:0)
假设您创建了像YourContext:DbContext这样的POCO类 1.如果使用name = YourContext定义连接字符串而不是连接到特定数据库。 2.在其他情况下,您的数据库将在本地SQLEXPRESS实例上创建,名称为YOUR_NAMESPACE.YourContext
答案 5 :(得分:0)
hi @kingDango这将给出连接字符串和服务器名称..
Console.WriteLine(ac.Database.Connection.ConnectionString);
在sql server management studio中使用此服务器名称并粘贴到服务器字段并连接.. 你可以找到数据库..
或第二种情况,它可能在App_Data
中答案 6 :(得分:0)
就像@SAm所说的那样,您可以通过构成数据库上下文类的名称来搜索数据库文件,在某些默认情况下,这会将文件放在用户目录中。我实际上无法在VS Server Explorer中连接到该数据库,因为我不知道连接名称。因此,我改为通过数据连接->添加连接...->更改数据源-> Microsoft SQL Server数据库文件添加了数据库文件。这促使我浏览找到的数据库文件,这给了我一个连接,又给了我一个 viola 的连接字符串!表示数据库也存储在(LocalDB)\MSSQLLocalDB
。在这里找到了很多我迷惑的其他数据库。