Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 在我的实体中引用页面博客的创建者(连接的用户)_Asp.net_Asp.net Mvc - Fatal编程技术网

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

Asp.net 在我的实体中引用页面博客的创建者(连接的用户),asp.net,asp.net-mvc,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 {

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

这是:

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对象

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


谢谢。

您可以通过创建将从
MembershipUser
继承的
CustomMembershipUser
来扩展
MembershipUser

您可以向
CustomMembershipUser
添加任何字段,然后还必须创建一个包含原始字段和额外字段的表


这说明了如何做到这一点。

您使用的是什么ORM


无论如何,您将无法引用未映射到ORM中的类。您可以创建一个类似于
SystemUser
的实体,将其映射到一个表,并在
页面
实体中引用它。当您使用
会员身份
登录时,您可以查询该
系统用户
,并将其存储在
HttpSession
中,以便以后使用。

谢谢您的回答。我宁愿避免这种解决方案。如果可能,我真的希望保留asp.net成员资格提供程序。因为我不必添加更多字段,我只想在我的“页面实体”和用户之间保留一个引用。如果扩展MembershipUser,您仍然可以使用ASP.NET提供的所有基础结构!您还可以将新实体(在您创建的表中)添加到您的模型中,这样您就可以对其具有导航属性。好的,所以“您将无法引用未映射到ORM中的类”。我想我只需添加一个string类型的成员并将用户名存储在其中。所以我的页面和我的用户之间没有链接。