Concat doesn't change anything - it returns a new sequence that you are currently ignoring.
However, instead of using Concat , you should simply use SelectMany to smooth the sequence:
string[] values = Acode.Split(','); return values.SelectMany(a => entities.Test.Where(t => t.TCode == Convert.ToInt16(a))) .ToList();
Or more efficiently convert values to List<short> , and then you can make one request:
List<short> values = Acode.Split(',').Select(x => short.Parse(x)).ToList(); return entities.Test.Where(t => values.Contains(t.TCode)).ToList();
source share