如何查询数组

时间:2017-02-05 00:40:14

标签: asp.net-core-mvc entity-framework-core

首先,让我首先说我不确定如何标题,我为此道歉。如果有什么东西让我感到震惊,或者你是聪明的我会编辑它。

我的问题是:

public IActionResult(string deckList //comma-separated-string of numeric characters which represent id's)
{
var cards = _context.Cards;
var deckListArray = deckList.Split(',');
foreach (var id in deckListArray)
{
int x = Convert.ToInt32(id);
cards = cards.Where(c => c.ID == id);
}

好吧,所以我知道在循环中查询至少是因为性能问题而不得不说,但是这个IQueryable集合甚至不能正确填充这段代码。

在阵列中找到ID为id的所有卡片的适当查询是什么?

1 个答案:

答案 0 :(得分:1)

var ids =  decklist.Split( ',' )
    .Select( id => Convert.ToInt32( id ) )
    .ToArray();

var cards = _context.Cards.Where( c => ids.Contains( c.ID ) );