1

这可能有点傻,但我构建的所有应用程序都始终使用 EF Code-First 方法来生成数据库。在使用这种方法时,我一直都是通过 Context 来访问数据库的:

public class RandomController : Controller
{

    public CombosContext db = new CombosContext();

    //
    // GET: /Home/

    public ActionResult Index()
    {
        var rows = db.Combos.OrderBy(a => a.Id).ToList();

但是,如果已经为我创建了数据库,或者我通过将实体添加到架构/设计图面来创建数据库,然后从中生成数据库,该怎么办。如果没有

public CombosContext db = new ComboxContext();
4

2 回答 2

2

如果数据库已经创建,您可以使用 Database First 方法:http: //blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-model-amp-database-first -演练.aspx

基本设置是在解决方案资源管理器中右键单击项目,然后单击添加 > 新项目。在对话框中,选择左侧窗格中的数据和 ADO.net 实体数据模型,然后按照向导创建基于数据库的模型。这样,您将拥有一个与您首先使用代码完全相同的上下文对象(有一些小的更改,但工作方式几乎相同)。

于 2012-08-05T00:32:53.747 回答
1

您仍然可以先使用代码执行此操作,恕我直言,这是更好的方法。使用 Entity Framework Power Tools 将现有数据库反向工程为代码优先模型。

http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/

请参阅我在以下位置使用它的演示:

http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DEV215

于 2012-08-05T20:29:28.380 回答