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