C# 阻止实体框架重新创建数据库,但改用现有数据库
你好 到目前为止,我理解EF试图让开发人员以代码优先的模式工作。目前我的设置有问题,因为EF想创建一个数据库,但被拒绝了。我已经创建了一个数据库,并将生成的数据库连接字符串更改为我希望它连接的位置,以及使用哪个数据库 在我的职业生涯中,我还没有广泛使用EF,但我发现通过ADO.NET方法对EF的需求越来越大。我决定试试看。以下是我所拥有的: 连接字符串 错误:C# 阻止实体框架重新创建数据库,但改用现有数据库,c#,asp.net-mvc,database,entity-framework,C#,Asp.net Mvc,Database,Entity Framework,你好 到目前为止,我理解EF试图让开发人员以代码优先的模式工作。目前我的设置有问题,因为EF想创建一个数据库,但被拒绝了。我已经创建了一个数据库,并将生成的数据库连接字符串更改为我希望它连接的位置,以及使用哪个数据库 在我的职业生涯中,我还没有广泛使用EF,但我发现通过ADO.NET方法对EF的需求越来越大。我决定试试看。以下是我所拥有的: 连接字符串 错误: 现在让我困惑的是——当EF打算擦除并重新创建数据库时,您如何使用它?我是不是遗漏了什么?我希望从数据库中的实际表以及其他CRUD操作中读
现在让我困惑的是——当EF打算擦除并重新创建数据库时,您如何使用它?我是不是遗漏了什么?我希望从数据库中的实际表以及其他CRUD操作中读取数据,而不是让它在每次运行应用程序时都重新创建数据。查看MigratedatabaseToLateStVersion如果您有一个现有数据库,并希望使用代码优先的方法,您可以使用“数据库中的代码优先”来生成所需的类和派生的上下文对象。请参阅,我们将对此进行查看,谢谢。将此代码放在上下文类的静态构造函数中。Database.SetInitializernull;
<add name="DefaultConnection" connectionString="Data Source=EON-PC\2008;Initial Catalog=Experimental;Integrated Security=true;" providerName="System.Data.SqlClient" />
namespace EFExperiment.Models
{
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
[Table("stores")]
public class Stores
{
[Key]
public string Id { get; set; }
public string StoreName { get; set; }
public string AdminEmail { get; set; }
public string Url { get; set; }
}
public class StoreDbContext : DbContext
{
public StoreDbContext()
{
//Database.SetInitializer<StoreDbContext>(null); //Tried this - also failed. It didn't try to create a database here
}
public DbSet<Stores> Stores { get; set; }
}
}
namespace EFExperiment.Controllers
{
using EFExperiment.Models;
using System.Linq;
using System.Web.Mvc;
public class StoresController : Controller
{
private StoreDbContext db = new StoreDbContext();
public ActionResult Index()
{
return View(db.Stores.ToList());
}
}
}
CREATE DATABASE permission denied in database 'master'.