簡體   English   中英

ASP.NET 內核 web 應用程序 - 顯示數據庫數據 C#

[英]ASP.NET Core web application - display database data C#

我正在嘗試顯示來自 SQL 服務器數據庫的數據。 我已經為此苦苦掙扎了一整天,仍然找不到任何可行的解決方案或教程。

我想做的——做一個簡單的“數據庫瀏覽器”。 到目前為止,最好的工作是本教程https://www.c-sharpcorner.com/article/entity-framework-database-first-in-asp-net-core2/

但是我只有一張表要顯示,我不知道如何編寫這部分代碼:

 public IActionResult Index()  
 {  
     var _emplst = _dbContext.tblEmployees
                             .Join(_dbContext.tblSkills, e => e.SkillID, s => s.SkillID,  
                                   (e, s) => new EmployeeViewModel  
                                                 { EmployeeID = e.EmployeeID, EmployeeName = e.EmployeeName,  
                                                   PhoneNumber = e.PhoneNumber, Skill = s.Title,  
                                                   YearsExperience = e.YearsExperience }).ToList();  

     IList<EmployeeViewModel> emplst  = _emplst;  
     return View(emplst);  
}  

僅一張表(沒有任何連接)。 我嘗試的一切都以我無法將tblEmployees轉換為EmployeeViewModel的錯誤告終。

有人可以幫助我嗎? 或者建議任何其他可能有效的解決方案? 我真的只想從表格中拖動數據並將其顯示在 web 頁面上。

編輯:ComponentContext.cs:

public class ComponentsContext:DbContext
    {
        public ComponentsContext(DbContextOptions<ComponentsContext> options) : base(options)
        {

        }

        public DbSet<tblComponents> tblComponent { get; set; }

    }
}

您的_emplst列表的類型(類)與類型(類) EmployeeViewModel不同。

因此,您需要 go 通過列出_emplst並傳輸EmployeeViewModel中所需的值。

這可能是這樣的:

     public IActionResult Index()  
 {  
            var _emplst = _dbContext.tblEmployees.  
                            Join(_dbContext.tblSkills, e => e.SkillID, s => s.SkillID,  
                            (e, s) => new EmployeeViewModel  
                            { EmployeeID = e.EmployeeID, EmployeeName = e.EmployeeName,  
                                PhoneNumber = e.PhoneNumber, Skill = s.Title,  
                                YearsExperience = e.YearsExperience }).ToList();  
            var emplst  = _emplst.Select( e=> new EmployeeViewModel {
               .. i dont known the properties ..
               A = e.A,
               B = e.B,
               ... .. 
            }).ToList();  
            return View(emplst);  
  }

作為對以下tlbComponent評論的回答,請嘗試以下操作:

var _cmplist = _dbContext.tblComponent.ToList().Select(e => new ComponentsViewModel { ID = e.ID, Name = e.Name, } ).ToList();
IList<ComponentsViewModel> cmplist = _cmplist;
return View(cmplist);

我已將_dbContext.tblComponent.Select(...更改為_dbContext.tblComponent.ToList().Select(...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM