首先,让我首先说我不确定如何标题,我为此道歉。如果有什么东西让我感到震惊,或者你是聪明的我会编辑它。
我的问题是:
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的所有卡片的适当查询是什么?
答案 0 :(得分:1)
var ids = decklist.Split( ',' )
.Select( id => Convert.ToInt32( id ) )
.ToArray();
var cards = _context.Cards.Where( c => ids.Contains( c.ID ) );