2016-11-10 81 views
0

我正在建立一個應用程序,我嘗試創建一個朋友系統。ASP.NETCore - 朋友系統

現在,我爲2表工作。 1st:默認的AspNetUsers,我存儲用戶信息。

第二:朋友表如下:

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」是字符串類型,以及接收所述註冊用戶ID。

我想要實現的是,當我在我的視圖中顯示這個表,我想表現出同樣的用戶名,多數民衆贊成的無論是在「friendFrom」的用戶名或「friendTo」欄。

+0

好了,這聽起來像一個相當簡單的查詢 - 你有儘可能嘗試什麼都沒有?你有沒有把你的數據庫連接到.NET,例如通過實體框架? –

+0

那麼我很新的ASP.NET,即時通訊在PHP中,我認爲它必須是簡單的,但然後我很多事情,沒有看起來對我好,仍然試圖找出這一個:) –

+0

如果你的問題基本上是「我不知道如何使用ASP.NET或ASP.NET Core的數據庫」,那麼恐怕它對於Stack Overflow來說太廣泛了 - 但是有很多的教程,指南,屏幕錄像等。我建議你從這些開始 - 堆棧溢出是爲了更具體的問題。 –

回答

0

您需要爲隨後改變你的類(我沒有測試這一點):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

+0

如果你可以與我分享控制器/視圖,我將不勝感激:) –

+0

@Ben:changed post – Wouter