C# 数据库在执行第一个代码后不显示
我正在运行下面的代码来学习代码优先工作流。代码可以完美地编译和运行。我认为创建数据库是因为在运行代码时可以看到以前的条目。但是我在MicrosoftSQLServerManagementStudio上看不到数据库。当我刷新时,新的数据库和表将被删除。我也可以在VisualStudio的服务器资源管理器上看到数据库。为什么呢?如何查看创建的数据库?代码如下:C# 数据库在执行第一个代码后不显示,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,我正在运行下面的代码来学习代码优先工作流。代码可以完美地编译和运行。我认为创建数据库是因为在运行代码时可以看到以前的条目。但是我在MicrosoftSQLServerManagementStudio上看不到数据库。当我刷新时,新的数据库和表将被删除。我也可以在VisualStudio的服务器资源管理器上看到数据库。为什么呢?如何查看创建的数据库?代码如下: using System.Data.Entity; using System; using System.Collections.Gener
using System.Data.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CodeFirstNewDatabaseSample
{
class Program
{
static void Main(string[] args)
{
using (var db = new BloggingContext())
{
Console.WriteLine("enter a new name for a new blog");
var name = Console.ReadLine();
var blog = new Blog { Name = name};
db.Blogs.Add(blog);
db.SaveChanges();
var query = from b in db.Blogs orderby b.Name select b;
Console.WriteLine("all blogs in database : ");
foreach(var item in query)
{
Console.WriteLine(item.Name);
}
Console.ReadLine();
}
}
}
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
public virtual List<Post> Posts {get; set;}
}
public class Post
{
public int PostID { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public int BlogId { get; set; }
public virtual Blog Blog { get; set; }
}
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
}
}
检查配置文件,应该有一个连接字符串条目。如果这指向您的sql server实例,那么您将能够在sql server management studio中看到该数据库
如果连接字符串未指向您的sql server实例,则将在本地创建数据库,请检查您的项目文件夹。您应该明确指定到数据库的连接字符串,这样您就可以知道连接的实际位置:
public class BloggingContext : DbContext
{
public BloggingContext() : base("ConnectionStringName")
// ...
}
并将连接字符串添加到配置文件:
<connectionStrings>
<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Server=ServerName; Database=DatabaseName;Integrated Security=SSPI" />
</connectionStrings>
用计算机上的值替换ServerName和DatabaseName是配置文件App.config的名称吗?如果使用web应用程序,则该文件为App.config;如果使用web应用程序,则该文件为web.config