【发布时间】:2016-04-01 14:33:18
【问题描述】:
这是来自教程。我有两个模型,Restaurant 和 RestaurantReview。
Restaurant是这样的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace OdeToFood.Models
{
public class Restaurant
{
public int Id { get; set; }
public string Name { get; set; }
public string City { get; set; }
public string Country { get; set; }
public ICollection<RestaurantReview> Reviews { get; set; }
}
}
而RestaurantReview是这样的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace OdeToFood.Models
{
public class RestaurantReview
{
public int Id { get; set; }
public int Rating { get; set; }
public string Body { get; set; }
public int RestaurantId { get; set; }
}
}
现在我已经创建了 OdeToFoodDB 类:
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
namespace OdeToFood.Models
{
public class OdeToFoodDB : DbContext
{
public DbSet<Restaurant> Restaurants { get; set; }
public DbSet<RestaurantReview> Reviews { get; set; }
}
}
现在我正在尝试创建一个 Microsoft SQL Server 数据库。我去了服务器资源管理器-> 添加连接并选择了 Microsoft SQL Server。根据教程,可能的数据库名称之一应该是OdeToFood.Models.OdeToFoodDB。但它不能作为选择:
当我尝试在其中输入 OdeToFood.Models.OdeToFoodDB 时,它会说
数据库 OdeToFood.Models.OdeToFoodDB 不存在或您无权查看它。
我正在使用 Microsoft Visual Studio 2013 和 Microsoft .NET framework 4.5.5
响应伊万的更新:
我在HomeController 中创建了一个_db,如下所示:
namespace OdeToFood.Controllers
{
public class HomeController : Controller
{
OdeToFoodDB _db = new OdeToFoodDB();
public ActionResult Index()
{
var model = _db.Restaurants.ToList();
return View(model);
}
}
更新 2:这是我的 web.config 的连接字符串部分:
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-OdeToFood-20160318150024;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-OdeToFood-20160318150024.mdf"
providerName="System.Data.SqlClient" />
</connectionStrings>
【问题讨论】:
-
你是以管理员身份运行 VS 吗?
-
你创建数据库了吗?好像您创建了一个模型。而你所做的是建立数据库连接,而不是创建数据库
-
@Pogrindis 好建议,但我刚刚尝试以管理员身份运行 VS,得到了相同的结果。
-
@Ian 我仍在学习如何做到这一点,但根据 Pluralsight 上的教程,只需创建一个扩展 DBContext 的类就可以告诉 Visual Studio 创建数据库。他在教程中以相同的方式执行此操作,并创建了数据库。
-
@jimboweb 你有推荐教程的链接吗?
标签: c# sql-server asp.net-mvc entity-framework visual-studio