C# 数组中每个元素的Linq查询

C# 数组中每个元素的Linq查询,c#,arrays,asp.net-mvc,linq,C#,Arrays,Asp.net Mvc,Linq,我有一个带有ActionResult的控制器,它从HttpPost的视图中获取三个数组。 数组是Id(tableId)、从顶部开始的位置(positionY)和从左侧开始的位置(positionX)。 单击“保存”时,ActionResult需要更新数据库中相应id中的所有位置 这是我的控制器: private BonTempsDbContext db = new BonTempsDbContext(); [HttpPost] public ActionResult Index(int[] t

我有一个带有ActionResult的控制器,它从HttpPost的视图中获取三个数组。 数组是Id(tableId)、从顶部开始的位置(positionY)和从左侧开始的位置(positionX)。 单击“保存”时,ActionResult需要更新数据库中相应id中的所有位置

这是我的控制器:

private BonTempsDbContext db = new BonTempsDbContext();

[HttpPost]
public ActionResult Index(int[] tableId, int[] tablePosX, int[] tablePosY)
{
    int i = 0;
    foreach (var id in tableId)
    {
        int number = tableId[i];
        Tafel tafel = db.Tafel
            .Where(x => x.id == number)
            .ToList();
        db.Entry(tafel).State = EntityState.Modified;
        i++;
    }
    return View(db.Tafel.ToList());
}
我得到一个错误:

无法隐式转换类型 “System.Collections.Generic.List”到 “邦坦普斯姆vc.Tafel”

如果你能从中得到有用的东西,这就是我的观点

@model IEnumerable<BonTempsMVC.Tafel>

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}


<h2>Index</h2>
<div class="VoegToeBtn">
    <a href="/tafel/create">
        <span class="btn btn-default">
            <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Maak nieuw menu aan
        </span>
    </a>
</div>
@using (Html.BeginForm())
    {
    @Html.AntiForgeryToken()

    <div id="tablewrapper">

                @foreach (var item in Model)
                {
                    var positionXId = "posX" + item.id;
                    var positionYId = "posY" + item.id;
                    <div class="draggable ui-widget-content" id="@Html.DisplayFor(ModelItem => item.id)">
                        <input type="text" hidden name="tableId" value="@Html.DisplayFor(ModelItem => item.id)" />
                        <input type="text" hidden name="tablePosX" id="@positionXId" value="" />
                        <input type="text" hidden name="tablePosY" id="@positionXId" value="" />
                        <p>@Html.DisplayFor(ModelItem => item.tafelNaam)</p>
                    </div>

                }
    </div>
    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>
    </div>
}
<script>
$(".draggable").draggable({
    snap: ".draggable",
    snapMode: "outer",
    stop: function (event, ui) {
        var finalOffset = $(this).offset();
        var finalxPos = finalOffset.left;
        var finalyPos = finalOffset.top;
        var itemId = $(this).attr('id');
        var posXid = "posX" + itemId;
        var posYid = "posY" + itemId;
        $('input:text[id="' + posXid + '"]').attr("value", finalxPos);
        $('input:text[id="' + posYid + '"]').attr("value", finalyPos);
    },
});
</script>
试试这个:-

 List<Tafel> tafel = db.Tafel
                .Where(x => x.id == number)
                .ToList();
根据@DavidG的建议,您也可以这样做:-

Tafel tafel = db.Tafel.FirstOrDefault(x => x.id == number);
Tafel tafel = db.Tafel.Find(number);

你能发布你对Tafel对象的定义吗?我用我的Tafel模型编辑了我的问题。或者,
Tafel-Tafel=db.Tafel.Find(number)也可以。谢谢!真的很有帮助而且很快!现在需要弄清楚如何进行查询以更新每个表中的位置。
Tafel tafel = db.Tafel.Find(number);