我有一个访问我的页面的实体(博客的页面)。
这是:
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实体中引用页面的创建者?
感谢。
答案 0 :(得分:0)
您可以通过创建将继承自MembershipUser
的{{1}}来扩展CustomMembershipUser
。
您可以向MembershipUser
添加所需的任何字段,然后您还必须使用原始字段和额外字段创建自己的表格。
Here is some documentation描述了如何执行此操作。
答案 1 :(得分:0)
您使用的是什么ORM?
无论如何,您将无法引用未在ORM中映射的类。您可以创建像SystemUser
这样的实体,将其映射到表格并在Page
实体上引用它。当您使用Membership
登录时,您可以查询SystemUser
并将其存储在HttpSession
中,以便日后使用。