引用我的实体中的页面博客(连接用户)的创建者

时间:2012-01-10 10:15:44

标签: asp.net asp.net-mvc

我有一个访问我的页面的实体(博客的页面)。

这是:

public class Page 
{
    [Key]
    public int PageId { get; set; }

    public string AuthorName { get; set; }

    [ForeignKey("AuthorName")]
    public virtual MembershipUser Author { get; set; }

    public string Title { get; set; }
    public string Description { get; set; }
    public string Content { get; set; }
    public DateTime? PublishDate { get; set; }
    public bool Published { get; set; }
    public DateTime LastModified { get; set; }
}

如您所见,我想保留对创建页面的人的引用(实际上这是连接用户)。所以我在我的类中定义了一个Author成员(MembershipUser类型)。我也尝试定义外键但它不起作用,因为MembershipUser实体中没有主键。我无法向此实体添加一个,因为if是一个aspnet对象。

如何在我的Page实体中引用页面的创建者?

感谢。

2 个答案:

答案 0 :(得分:0)

您可以通过创建将继承自MembershipUser的{​​{1}}来扩展CustomMembershipUser

您可以向MembershipUser添加所需的任何字段,然后您还必须使用原始字段和额外字段创建自己的表格。

Here is some documentation描述了如何执行此操作。

答案 1 :(得分:0)

您使用的是什么ORM?

无论如何,您将无法引用未在ORM中映射的类。您可以创建像SystemUser这样的实体,将其映射到表格并在Page实体上引用它。当您使用Membership登录时,您可以查询SystemUser并将其存储在HttpSession中,以便日后使用。