ASP.NET核心web应用程序-显示数据库数据C#

ASP.NET核心web应用程序-显示数据库数据C#,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我正在尝试显示SQL Server数据库中的数据。我已经和它斗争了一整天,但仍然找不到任何有效的解决方案或教程 我想做的是制作一个简单的“数据库浏览器”。到目前为止,效果最好的是本教程 但我只有一个表要显示,我不知道如何编写这部分代码: public IActionResult Index() { var _emplst = _dbContext.tblEmployees .Join(_dbContext.tblSk

我正在尝试显示SQL Server数据库中的数据。我已经和它斗争了一整天,但仍然找不到任何有效的解决方案或教程

我想做的是制作一个简单的“数据库浏览器”。到目前为止,效果最好的是本教程

但我只有一个表要显示,我不知道如何编写这部分代码:

 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);  
}  

您的
\u EmployeeViewModel
列表的类型(类)与类型(类)
EmployeeViewModel
不同

因此,您需要查看您的列表
\u employst
,并在
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);  
  }
请尝试以下方法回答您对
TLB组件的评论:

var _cmplist = _dbContext.tblComponent.ToList().Select(e => new ComponentsViewModel { ID = e.ID, Name = e.Name, } ).ToList();
IList<ComponentsViewModel> cmplist = _cmplist;
return View(cmplist);
var\u cmplist=\u dbContext.tblComponent.ToList().Select(e=>newcomponentsviewmodel{ID=e.ID,Name=e.Name,}).ToList();
IList cmplist=_cmplist;
返回视图(cmplist);

我已将
\u dbContext.tblComponent.Select(…
更改为
\u dbContext.tblComponent.ToList()。Select(…
)我尝试了以下操作:varnewcomponentsviewmodel{ID=e.ID,Name=e.Name,}).ToList();IList cmplist=_cmplist;返回视图(cmplist);但它以“无效对象名(tblComponent)”结尾,表示您没有
DbSet tblComponent{get;set;}
关于
\u dbContext
的类型。在您的问题中显示
\u dbContext
的类型,然后我们可以帮助您。公共类组件上下文:dbContext{public components上下文(DbContextOptions):base(options){}public DbSet tblComponent{get;set;}}感谢您的回复:)使用
ComponentsContext
类更新您的问题,它更具可读性;)对于这样一个“通用”数据库浏览器,实体框架可能不是最佳选择。也许你需要回到“老派”的低级ADO.NET来处理这样的场景。。。
var _cmplist = _dbContext.tblComponent.ToList().Select(e => new ComponentsViewModel { ID = e.ID, Name = e.Name, } ).ToList();
IList<ComponentsViewModel> cmplist = _cmplist;
return View(cmplist);