这可能有点傻,但我构建的所有应用程序总是使用EF Code-First方法来生成数据库。使用此方法时,我总是通过上下文访问数据库:
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();
答案 0 :(得分:2)
如果已创建数据库,您可以使用数据库优先approuch:http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-model-amp-database-first-walkthrough.aspx
基本设置是在解决方案资源管理器中右键单击项目,然后单击添加>新物品。在对话框中,选择左窗格中的数据和ADO.net实体数据模型,然后按照向导基于数据库创建模型。这样,您将拥有一个完全按照代码方式使用的上下文对象(进行一些小的更改,但工作方式几乎相同)。
答案 1 :(得分:1)
你仍然可以使用Code首先执行此操作,这是更好的方法恕我直言。使用Entity Framework Power Tools将现有数据库反向工程为代码优先模型。
http://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d/
请参阅我的演示文稿:
http://channel9.msdn.com/Events/TechEd/NorthAmerica/2012/DEV215