我是mvc
的新手。我创建了一个MVC
应用,其中我使用了code first
方法。现在我有两张桌子交易和评论。现在,我想在数据库中添加新表类别,在交易表中添加新列 categoryId 。
我如何更新数据库和模型?
我使用Sql Server 2008 R2
作为数据库。
我关注了课程结构:
namespace FBWebApp.Models
{
public class Deal
{
public int ID { get; set; } // ID
public string Title { get; set; } // Titolo del deal
public string Description { get; set; } // Descrizione dell'annuncio
public string FacebookUID { get; set; } // UID facebook dell'utente
public string Visibility { get; set; } // Visibility
public string Category { get; set; }
public int Option1 { get; set; }
public int Option2 { get; set; }
public int Option3 { get; set; }
public int Option4 { get; set; }
public string PhotoURL { get; set; } // URL of the facebook photo profile
public string Name { get; set; } // Name of the user
public string ProfileUrl { get; set; } // URL of the facebook profile
public string Photo1 { get; set; } // URL of the Photo1 (local )
public string Photo2 { get; set; }
public string Photo3 { get; set; }
public string Photo4 { get; set; }
public string Photo5 { get; set; }
}
public class Comment
{
[Key]
public int CommentId { get; set; }
public string CommentText { get; set; }
public int ID { get; set; }
[ForeignKey("ID")]
public Deal DelNav { get; set; }
}
public class DealDBContext : DbContext
{
public DealDBContext() : base("DealDBContext") { }
public DbSet<Deal> Deals { get; set; }
public DbSet<Comment> Comments { get; set; }
}
}
答案 0 :(得分:1)
首先添加你的模型:
public class Category
{
public int ID { get; set; }
public int cateName { get; set; }
}
Deal
课程中的:
public class Deal
{
//..
[ForeignKey("CatId")]
public virtual Category Category { get; set; }
}
在Enable Migration之后,您应该在控制台管理器中使用此命令来更新数据库:
update-database
答案 1 :(得分:1)
尝试在程序包管理器控制台中使用“update-database -force -verbose”。
如果它不起作用,请修改迁移,但键入“add-migration somename”,它将显示在“迁移”文件夹中。
如果您是MVC和EF的新手,请务必查看本教程。它解释了所有这些以及您需要知道的所有其他事项: