ASP.NETCore - система друзей

Я создаю приложение, в котором я пытаюсь создать систему друзей.

Сейчас я работаю с двумя таблицами для этого. 1-й: по умолчанию AspNetUsers, где я храню информацию о пользователе.

2-й: Таблица друзей, как показано ниже:

    public class AspNetFriends
{
    public int ID { get; set; }
    public string friendFrom { get; set; }
    public string friendTo { get; set; }
    public bool isConfirmed { get; set; }
}

В этой таблице "friendFrom" и "friendTo" имеют строковый тип и получают идентификатор зарегистрированного пользователя.

Чего я хочу добиться, так это того, чтобы при отображении этой таблицы в моем представлении я хотел показывать имя пользователя с тем же идентификатором пользователя, что либо в столбце "friendFrom", либо "friendTo".

1 ответ

Решение

Вы должны изменить свой класс следующим образом (я не проверял это):

Пользователь приложения по умолчанию ядра asp.net

using Microsoft.AspNetCore.Identity.EntityFrameworkCore;

namespace project.Models
{
    // Add profile data for application users by adding properties to the ApplicationUser class
    public class ApplicationUser : IdentityUser
    {

    }
}

модель

public class AspNetFriends
{
    public int ID { get; set; }
    public bool isConfirmed { get; set; }
    public virtual ApplicationUser friendFrom { get; set; }
    public virtual ApplicationUser friendTo { get; set; }
}

Теперь вы можете получить к получателям и установщикам пользователя aspnet

контроллер

public async Task<IActionResult> Details(int id)
{
    var query = from m in _dbContext.AspNetFriends
                    join ff in _dbContext.Users on
                        new { m.friendFrom.Id } equals new { Id = cu.Id }
                    join ft in _dbContext.Users on
                        new { m.friendTo.Id } equals new { Id = cu.Id }
                        where m.ID == id
                        select m;

    return View(query.Single());
 }

Посмотреть

@model project.AspNetFriends

<p>
@model.friendFrom.UserName
</P>

@item.CreationUser.UserName

Другие вопросы по тегам