【发布时间】:2013-06-16 19:39:49
【问题描述】:
我正在尝试用 c# 制作一个 Web 应用程序 MVC4。
我使用的数据库与最初为用户创建的数据库(身份验证)相同(更容易处理连接字符串)。
所以我做了 3 个模型,模型在 DB 中找到。现在我添加了另一个实体作为模型,但模型不是在 mdf 文件中创建的。
如何从代码创建它或重建数据库,或者...
目前,除了处理我的最新实体(名为“ItemsToBuy”)的控制器之外,一切正常,因为它确实不存在于数据库中
谢谢你的帮助!
编辑:代码
namespace MvcShop.Models
{
public class ItemsToBuy
{
public int ItemsToBuyId {get; set;}
public Item Item { get; set; }
public int NumberItems { get; set; }
public string AddedBy { get; set; }
public DateTime AddedDate { get; set; }
public int ItemId { get; set; }
}
}
以及产生异常的方法:
var itemstobuys = db.ItemsToBuy.Include(i => i.Item);
return View(itemstobuy.ToList());
有那个异常(InnerException):
{"无效的对象名称'dbo.ItemsToBuys'。"}
还有 DBCONtext 类:
namespace MvcShop.Models
{
public class ShopEntities : DbContext
{
public DbSet<Item> Item { get; set; }
public DbSet<ItemShop> ItemShop { get; set; }
public DbSet<ItemsToBuy> ItemsToBuy { get; set; }
public DbSet<Shop> Shop { get; set; }
}
}
并根据需要在 global.asax 中:
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
Database.SetInitializer<ShopEntities>(null);
}
}
【问题讨论】:
-
你需要添加你的代码
-
@devdigital:谢谢。我进行了编辑,但我认为它不会增加对问题的理解,这对我来说很清楚,但是解决方案 hmmmmmmm :-/ ;-)
-
您是否在 mdf 文件上完成了右键并“刷新”?你能分享你的 DbContext 类和你的数据库初始化代码吗?
-
@Vic 你好,谢谢。我再次编辑了最初的帖子:-)
-
谢谢,仍然缺少您的数据库初始化代码。最有可能放在 global.asax
标签: c# visual-studio-2010 entity-framework entity-framework-4 entity