如何首先使用mvc 5和EntityFramework代码将两个属性映射到同一张表?

威弗

我上这堂课。

public class ApplicationUser : IdentityUser
{
    [Required]
    [DataType(DataType.EmailAddress)]
    public string Email { get; set; }

    public virtual ICollection<Post> PostsCreated { get; set; }
    public virtual ICollection<Post> PostsModified { get; set; }
    public virtual Comment Comment { get; set; }
}

而另一类是...

public class Post
{
    public int PostId { get; set; }
    public string Title { get; set; }
    public string Body { get; set; }
    public virtual ICollection<Category> Category { get; set; }

    public DateTime PublishDate { get; set; }
    public DateTime CreateDate { get; set; }
    //----------------------------------------------------------------
    [ForeignKey("UserCreated"), Column(Order = 0)]
    public string CreatedId { get; set; }

    [ForeignKey("UserModify"), Column(Order = 1)]
    public string ModifiedId { get; set; }
    //----------------------------------------------------------------
    [InverseProperty("PostsCreated")]
    public virtual ICollection<ApplicationUser> UserCreated { get; set; }

    [InverseProperty("PostsModified")]
    public virtual ICollection<ApplicationUser> UserModify { get; set; }
    //----------------------------------------------------------------
    public DateTime ModifiedDate { get; set; }
    public Public Public { get; set; }
}

我的数据访问权限是这个.....

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("BlogLibrary2")
    {
    }
    public DbSet<Post> Post { get; set; }
    public DbSet<Comment> Comment { get; set; }
    public DbSet<Category> Category { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
        modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
    }
}

当我尝试使用此数据访问和Post类创建控制器时,出现了此错误:

运行所选代码生成器时发生错误:“无法检索'LibraryBlog.Models.Post”的元数据。外键组件'CreatedId'不是类型为'ApplicationUser'的已声明属性。请验证未将其显式排除在模型之外,并且它是有效的原始属性。

威弗

我修复了该错误。我修改了此类,现在看起来像这样:

public class ApplicationUser : IdentityUser
{
     [Required]
     [DataType(DataType.EmailAddress)]
     public string Email { get; set; }
     public virtual ICollection<Post> PostsCreated { get; set; }
     public virtual ICollection<Post> PostsModified { get; set; }
     public virtual Comment Comment { get; set; }
}

和这个:

public class Post
{
     public int PostId { get; set; }
     public string Title { get; set; }
     public string Body { get; set; }
     public virtual ICollection<Category> Category { get; set; }

     public DateTime PublishDate { get; set; }
     public DateTime CreateDate { get; set; }
     //---------------------Here is the point
     public string PostCreatedBy { get; set; }
     public string PostModifiedBy { get; set; }
     [ForeignKey("PostCreatedBy"), InverseProperty("PostsCreated")]
     public virtual ApplicationUser CreatedBy { get; set; }
     [ForeignKey("PostModifiedBy"), InverseProperty("PostsModified")]
     public virtual ApplicationUser ModifiedBy { get; set; }
     //-------------------------------------------
     public DateTime ModifiedDate { get; set; }
     public Public Public { get; set; }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

首先使用代码将多个导航属性复制到同一张表

来自分类Dev

EF 6如何将两个外键设置到同一张表

来自分类Dev

如何从orientDB的同一张表中检索两个不同边的数据?

来自分类Dev

如何合并同一张表中的两个hasMany关系?

来自分类Dev

如何将双多对多关系映射到《学说2》中的同一张表?

来自分类Dev

SQL:如何从同一张表中选择两个ID作为两个名称?

来自分类Dev

ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

来自分类Dev

ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

来自分类Dev

如何使用Hibernate使用Spring JPA将一个表的多个列映射到另一张表的单父列

来自分类Dev

如何在Postgresql中将两个选择查询水平组合在同一张表上?

来自分类Dev

如何将两个表映射到EntityTypeConfiguration中的一个实体?

来自分类Dev

如何使用 tensorboardX 在同一张图表上获得两个标量?

来自分类Dev

如何首先使用MVC和EF代码写入Excel-最佳实践

来自分类Dev

实体框架核心:如何在引用同一张表的一个实体中使用两个一对多关系配置模型

来自分类Dev

如何使用同一张表的2个实例

来自分类Dev

Symfony 2 /教义2:同一张表的两个实体,一个使用另一个

来自分类Dev

Symfony 2 /教义2:同一张表的两个实体,一个使用另一个

来自分类Dev

如何使用C和gnuplot在一张图中打印两个或多个图

来自分类Dev

使用两个WHERE条件从同一张表中两次选择一列SQL SERVER

来自分类Dev

如何计算同一张表中的两个独立列并将它们累加到一个新列中

来自分类Dev

如何计算同一张表中的两个独立列并将它们累加到一个新列中

来自分类Dev

如何将两列连接到同一张表

来自分类Dev

首先在同一张表中启用Entity Framework 5代码中的多对多

来自分类Dev

如何使用ServiceStack OrmLite两次两次将LeftJoin加入同一张表?

来自分类Dev

如何在mysql的同一张表的不同列中添加两个或多个时间数据类型

来自分类Dev

如何在同一页面上显示两个 gmaps4rails 一张普通地图和一张街景(Google Maps and Rails)

来自分类Dev

如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

来自分类Dev

如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

来自分类Dev

如何首先使用c#EF代码将Tuple <something,something>映射到数据库?

Related 相关文章

  1. 1

    首先使用代码将多个导航属性复制到同一张表

  2. 2

    EF 6如何将两个外键设置到同一张表

  3. 3

    如何从orientDB的同一张表中检索两个不同边的数据?

  4. 4

    如何合并同一张表中的两个hasMany关系?

  5. 5

    如何将双多对多关系映射到《学说2》中的同一张表?

  6. 6

    SQL:如何从同一张表中选择两个ID作为两个名称?

  7. 7

    ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

  8. 8

    ASP NET MVC 3-如何首先使用两个表和Database.Setinitializer重置代码中的数据库?

  9. 9

    如何使用Hibernate使用Spring JPA将一个表的多个列映射到另一张表的单父列

  10. 10

    如何在Postgresql中将两个选择查询水平组合在同一张表上?

  11. 11

    如何将两个表映射到EntityTypeConfiguration中的一个实体?

  12. 12

    如何使用 tensorboardX 在同一张图表上获得两个标量?

  13. 13

    如何首先使用MVC和EF代码写入Excel-最佳实践

  14. 14

    实体框架核心:如何在引用同一张表的一个实体中使用两个一对多关系配置模型

  15. 15

    如何使用同一张表的2个实例

  16. 16

    Symfony 2 /教义2:同一张表的两个实体,一个使用另一个

  17. 17

    Symfony 2 /教义2:同一张表的两个实体,一个使用另一个

  18. 18

    如何使用C和gnuplot在一张图中打印两个或多个图

  19. 19

    使用两个WHERE条件从同一张表中两次选择一列SQL SERVER

  20. 20

    如何计算同一张表中的两个独立列并将它们累加到一个新列中

  21. 21

    如何计算同一张表中的两个独立列并将它们累加到一个新列中

  22. 22

    如何将两列连接到同一张表

  23. 23

    首先在同一张表中启用Entity Framework 5代码中的多对多

  24. 24

    如何使用ServiceStack OrmLite两次两次将LeftJoin加入同一张表?

  25. 25

    如何在mysql的同一张表的不同列中添加两个或多个时间数据类型

  26. 26

    如何在同一页面上显示两个 gmaps4rails 一张普通地图和一张街景(Google Maps and Rails)

  27. 27

    如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

  28. 28

    如何首先使用C#MVC中的代码将新创建的存储过程添加到应用程序

  29. 29

    如何首先使用c#EF代码将Tuple <something,something>映射到数据库?

热门标签

归档