Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心MVC+;实体框架&x2B;获取+;排列_C#_Entity Framework_Asp.net Core Mvc - Fatal编程技术网

C# ASP.NET核心MVC+;实体框架&x2B;获取+;排列

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

我正在做一些测试来做一个项目。我最近一直在使用ASP.NET核心MVC和实体框架。我在SQL Server中有一个简单的数据库来证明它是如何工作的:

在测试项目中,我有一个控制器
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