【问题标题】:Map ASP Membership User & Entity Framework映射 ASP 会员用户和实体框架
【发布时间】:2012-02-18 01:47:32
【问题描述】:

我有一个名为“Account”的模型,其外键“UserId”映射到 aspnet_users 表。

Account 模型还具有导航属性“Creator”,Creator 模型包含 UserId、Username 和 Email。

将值从 aspnet_users 映射到 Creator 模型的最佳方法是什么?

我希望能够像这样访问它:@Model.Creator.Username

我不想操纵会员系统,我有一个服务来处理它。理想情况下,我只想将此对象映射为只读目的。

【问题讨论】:

  • 如果你想出了办法,请告诉我。

标签: asp.net asp.net-mvc entity-framework


【解决方案1】:

您可以创建一个不包含在上下文中的模型。

public class AccountContext : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Ignore<Creator>(); //Ignore map
    }

    public void FillCreatorToAccount(Account account)
    {
        var creator = Database.SqlQuery<Creator>("select UserId,UserName,Email from aspnet_users where UserId=@p0", account.UserId).SingleOrDefault();
        account.Creator = creator;
    }
}

public class Account
{
    public Guid UserId { get; set; }
    public Creator Creator { get; set; }
}

public class Creator
{
    public Guid UserId { get; set; }
    public string UserName { get; set; }
    public string Email { get; set; }
}

【讨论】:

    猜你喜欢
    • 2017-02-11
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    • 2014-04-01
    • 2016-08-23
    相关资源
    最近更新 更多