1

我有 asp.net mvc5 项目,具有默认身份验证(AccountController)

我想允许用户创建一些类型的对象,比如说“MyEntity”,我想将它记录到数据库中。如何使用 Entity Framework Code First 执行这些操作?

(即我想要类似的东西:

class MyEntity
{
    public Guid MyEntityId { get; set; }
    public String Name { get; set; }
    public User CreatedByUser { get; set; } // Those line I'm asking for ???
}

)

[更新]

好的,我达到了目的,我需要。第一的:

public class MyUser : IdentityUser
{
}

第二:

public class MyDataContext : IdentityDbContext<MyUser>
{
    public MyDataContext()
        : base("MyEntitiesConnection")
    {
    }
}

第三:

public class MyEntity
{
    //....
    public MyUser User { get; set; }
}

并将关系作为数据库的外键

4

1 回答 1

1

只需在控制器中为新的 MyEntity 对象将 CreatedByUser 设置为 User.Identity.Name 即可。这会将用户名存储在模型上,以便您可以查询模型。如果您确实想保存用户连接,则使用 User.Identity.Name 作为 UserStore 的参数,通过用户名获取,然后将用户添加到实体。

于 2013-11-08T16:12:12.857 回答