C# ASP.NET核心MVC+;实体框架&x2B;获取+;排列
我正在做一些测试来做一个项目。我最近一直在使用ASP.NET核心MVC和实体框架。我在SQL Server中有一个简单的数据库来证明它是如何工作的: 在测试项目中,我有一个控制器C# ASP.NET核心MVC+;实体框架&x2B;获取+;排列,c#,entity-framework,asp.net-core-mvc,C#,Entity Framework,Asp.net Core Mvc,我正在做一些测试来做一个项目。我最近一直在使用ASP.NET核心MVC和实体框架。我在SQL Server中有一个简单的数据库来证明它是如何工作的: 在测试项目中,我有一个控制器TestController;代码如下: using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Micr
TestController
;代码如下:
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using WEBAPPHTTP.Models;
namespace WEBAPPHTTP.Controllers
{
[Route ("api/controller[]")]
public class TestController: Controller
{
[HttpGet("/api/values")]
public IEnumerable<string> Get()
{
using (TareasContext db = new TareasContext())
{
var listar = db.Tareas;
var n = listar.Count();
string[] array = new string[n+1];
int i = 0;
foreach (var otareas in listar)
{
array[i] = otareas.Tarea.ToString();
i = i++;
}
return array;
}
}
}
}
它只显示数据库的最后一条记录,后跟几个NULL,这个测试的想法是将所有结果加载到数组中
我确信这是一个很早的错误,我希望你能指导我。我不知道在这之后你想做什么,但如果你只是想列出你的项目,你应该能够做如下操作:
using (TareasContext db = new TareasContext())
{
return db.Tareas.ToList();
}
这将为您提供一个完整的列表,其中包含所有项目和所有属性,如果您只需要一部分属性,我建议您也选择。
记住也要做一个where,这样你就不会总是返回完整的列表(如果它变得很大的话)
和平 我不知道在这之后你想做什么,但是如果你只想列出你的项目,你应该能够做如下事情:
using (TareasContext db = new TareasContext())
{
return db.Tareas.ToList();
}
这将为您提供一个完整的列表,其中包含所有项目和所有属性,如果您只需要一部分属性,我建议您也选择。
记住也要做一个where,这样你就不会总是返回完整的列表(如果它变得很大的话)
和平 您的代码效率不高。这是一个更干净的版本,具有相同的功能:
using (TareasContext db = new TareasContext())
{
var result = db.Tareas.Select(x => x.Tarea).ToList();
return result;
}
正如我看到的,
Tarea
列属于varchar
或nvarchar
类型。因此,您不需要将其转换为字符串。您的代码效率不高。这是一个更干净的版本,具有相同的功能:
using (TareasContext db = new TareasContext())
{
var result = db.Tareas.Select(x => x.Tarea).ToList();
return result;
}
正如我看到的,Tarea
列属于varchar
或nvarchar
类型。因此,您不需要将其强制转换为字符串。i=i++代码>看起来非常奇怪和错误。将i
赋值给i
,然后递增i
i=i++代码>看起来非常奇怪和错误。将i
分配给i
,然后递增i
。