none
Code First 无法创建表,如何处理 RRS feed

  • 问题

  • 项目中使用Package Manager Console加载EFCodeFirst1.1;

    创建类

     public partial class BlogUser {
            /// <summary>       
            /// 默认情况下属性被命名为ID、id或者[ClassName]Id,将映射为数据表中的主键       
            /// 如果没有类似的命名,并且也未显示指明主键,则生成失败,引发异常       
            /// </summary>       
            public int BlogUserId { get; set; }
            public string BlogName { get; set; }
            /// <summary>       
            /// 定义博客用户的随笔列表       
            /// virtual表示该列表为延迟加载       
            /// </summary>       
            public virtual ICollection<Post> Posts { get; set; }
        }
        public partial class Post {
            public int PostId { get; set; }
            public string PostTitle { get; set; }
            public int BlogUserId { get; set; }
            /// <summary>       
            /// 延迟加载博客用户       
            /// </summary>       
            public virtual BlogUser BlogUser { get; set; }
        }
        public class BlogDbContext : DbContext {
            public BlogDbContext()
                : base("name=EFDemoDBConnectionString") {
               
            }
            public IDbSet<BlogUser> BlogUsers { get; set; }
            public IDbSet<Post> Posts { get; set; }
        }

    使用Database.SetInitializer<BlogDbContext >(new DropCreateDatabaseIfModelChanges<BlogDbContext >());语句无法创建表

    错误提示:

    Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions.

    不知哪位专家能给解答下

    2011年11月9日 3:51

答案