C# 如何在类Id中使用mvc默认用户Id?

C# 如何在类Id中使用mvc默认用户Id?,c#,asp.net-mvc,C#,Asp.net Mvc,我是MVC的新手。我想实现一个像facebook这样的应用程序。 我为此编写了3个模型。这是我的模型 public class User { public string Id { get; set; } public string Name { get; set; } public virtual List<Post> Posts { get; set; } public virtual List<Comment>Comments { ge

我是MVC的新手。我想实现一个像facebook这样的应用程序。 我为此编写了3个模型。这是我的模型

public class User
{
    public string Id { get; set; }
    public string Name { get; set; }
    public virtual List<Post> Posts { get; set; }
    public virtual List<Comment>Comments { get; set; }
}

public class Post
{
    public int PostId { get; set; }
    public string UserId { get; set; }
    public string Message { get; set; }
    public DateTime PostDate { get; set; }
    public virtual List<Comment> Comments { get; set; }
}

public class Comment
{
    public int Id { get; set; }
    public string Message { get; set; }
    public DateTime CommentDate { get; set; }
    public int PostId { get; set; }
    public string UserId { get; set; }
}
公共类用户
{
公共字符串Id{get;set;}
公共字符串名称{get;set;}
公共虚拟列表发布{get;set;}
公共虚拟ListComments{get;set;}
}
公营职位
{
公共int PostId{get;set;}
公共字符串用户标识{get;set;}
公共字符串消息{get;set;}
public DateTime PostDate{get;set;}
公共虚拟列表注释{get;set;}
}
公开课评论
{
公共int Id{get;set;}
公共字符串消息{get;set;}
public DateTime CommentDate{get;set;}
公共int PostId{get;set;}
公共字符串用户标识{get;set;}
}
在用户id属性中,我想使用MVC帐户id。
我想将默认身份验证Id注入我的用户Id属性。
在此之后,我使用代码优先的方法来获得自动生成的代码
我怎样才能做到这一点。请帮我做这件事。:)

我的代码有错误吗?我很困惑。建议需要

要使其工作,我想您需要更改部分DB生成机制,我建议您执行以下步骤:

DB

创建SQL数据库(暂时保持为空)

代码

  • 使用VS 2013启动新的Web/ASP.NET Web应用程序
  • 选择MVC作为模板(默认)
  • 选择单个用户帐户作为身份验证(默认)
  • 转到服务器资源管理器并添加新连接(到已创建的数据库)
  • 复制此新数据库的连接字符串并替换 Web.Config中的DefaultConnection
现在,您指向新的空数据库,启动Web应用程序,通过输入电子邮件和密码进行一次注册,然后单击“注册”

DB

去检查一下数据库,你会发现在数据库上为你创建了大约5个新表,它们将代表身份验证/授权信息

继续处理数据库,创建其他表(Post和Comment),并将它们都连接到AspNetUsers(代表注册用户)

代码

返回代码:

  • 右键单击模型
  • 单击添加/新建项目
  • 选择ADO.NET实体模型
  • 选择“从数据库生成”
  • 选择在前面步骤中已创建的连接
  • 单击“下一步”并选择与您相关的表格(发布、评论)
  • 单击“完成”
通过完成此步骤,您已经将帖子和评论连接到MVC默认认证用户


如果您需要任何进一步的帮助,请告诉我。

您使用的是哪个MVC版本?我使用visualStudio2013和MVC5Ok,MVC5使用新的用户身份验证方法,有一个名为ApplicationUser的类,它继承自IdentityUser,您可以根据需要自定义该类“ApplicationUser”。我假设您正在使用SQL Server作为数据库,对吗?如果是,我将提供一些示例代码。是的,我使用Sql Server 2012,请给我一些示例代码。我想通过应用程序用户使用“publicstringid{get;set;}”这个属性:)非常感谢您,先生。我做到了。它正在成功地工作。但我希望它是代码优先的方法。