Asp.net mvc 3 如何将我的模型分配给内置用户

Asp.net mvc 3 如何将我的模型分配给内置用户,asp.net-mvc-3,ef-code-first,Asp.net Mvc 3,Ef Code First,我正在尝试在ASP.NET MVC 3中的内置用户模型和我的模型之间实现外键连接 如何将所有权或某些其他角色分配给用“我的模型”表示的各种条目。我的模型的外观示例: public class Entry { public int Id { get; set; } public string Value { get; set; } public User Owner { get; set; } public User SomeoneElse { get; set;

我正在尝试在ASP.NET MVC 3中的内置用户模型和我的模型之间实现外键连接

如何将所有权或某些其他角色分配给用“我的模型”表示的各种条目。我的模型的外观示例:

public class Entry
{
    public int Id { get; set; }
    public string Value { get; set; }
    public User Owner { get; set; }
    public User SomeoneElse { get; set; }
}

在哪里可以找到用户的模型,我需要导入什么?或者有更好的方法来实现这一点吗?

您使用实体框架吗??如果是的话

简单解决方案

您可以简单地从内置用户模型中保留Guid。你不会有一段“真正的关系”,但它会为你想做的事带来好处。您始终可以使用
成员身份.GetUser().ProviderUserKey

其他更复杂的

完全重写并覆盖MembershipProvider和登录模块。这样,您就可以使用自己的用户对象并向其添加其他属性

对这个不太确定

不确定此属性是否适用于从
成员资格提供程序自动生成的表,但您可以通过以下方式添加外键属性:

    [ForeignKey("User")]
    public Guid UserId { get; set; }

伟大的我也尝试了上一个的变体(也有MembershipUser),但似乎没有任何效果。。。有了你的提示,我也找到了类似的解决方案。现在我想知道,创建一个guid集合的唯一方法是只为这个一对多关系准备一个特殊的模型吗?(例如,一个条目可以有多个所有者。)您想要的是多对多关系。由于成员资格用户模型不是实体模型,因此必须手动创建联接/连接表。因此,您必须创建一个表,将条目链接到UserGuid。因此,创建一个名为EntryOwners的类,该类具有一个ID属性、一个Entry对象和一个UserGuid。还可以在条目对象中添加Icollection。这样,实体框架将知道一个条目可以有多个EntryOwner,并且一个EntryOwner链接到一个条目。