我在MVC3应用下面的模型,我首先使用实体框架4.1的代码。模型和表更改错误EF 4.1
public class Movie
{
public int Id { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Director { get; set; }
[CustomValidation(typeof(MovieValidator), "ValidateReleaseDate")]
public DateTime ReleaseDate { get; set; }
}
野老,如果我从标题和导演除去必需的特性,使他们可为空数据库(这是由EF代码首先从上面的模型自动创建的),我得到以下错误:
The model backing the 'MoviesDB' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data.
我已阅读,来解决这个我必须做下面的事情之一:
1)删除数据库,使EF可以重新创建它
2)添加如下:●在上下文类中:(这不适用于EF 4.1的上下文中,我在application_start中添加了它并且工作正常。为什么犯规它在上下文中CALSS现在的工作?)
Database.SetInitializer<MoviesDB>(
new DropCreateDatabaseIfModelChanges<MoviesDB>());
3)匹配表模型(我的模型是表为什么我仍然得到这个错误完全一样?)
请建议的提及问题的答案第2点和3
感谢。
你在哪里放置在上下文类的初始化? – 2011-04-23 10:05:31