我有一个需要根据ID显示值的要求。为此,我要多次调用数据库以及不同的表。是否可以减少通话次数?
我具有根据对DB的调用发生的切换条件。下面是示例
foreach (var items in table1)
{
foreach (var item in items.List)
{
switch (item.condition)
{
case condition1:
case condition2:
item.nvalue= string.Join(",", _context.table1.Where(x => ids.Contains(x.Id)).Select(x => x.Title));
break;
case condition3:
item.nvalue= string.Join(",", _context.tabl2.Where(x => secondIds.Contains(x.Id)).Select(x => x.newvalu));
break;
case condition4:
item.nvalue= string.Join(",", _context.tabl3.Where(x => someIds.Contains(x.Id)).Select(x => x.oldvalue));
break;
case condition5:
item.nvalue= string.Join(",", _context.tabl4.Where(x=>textIds.Contains(x.Id)).Select(x => x.note));
break;
default:
item.nvalue= "";
break;
}
}
}
提前感谢
如果要减少数据库调用,并且表不是太大或它们是基本表,则可以使用“缓存数据”将表缓存在内存中。完整的文档在这里:Documentation
我希望它能帮助您解决问题。祝你好运。