Попробуйте context.myList.Where(m=>lstObjects.Contains(m.Phase))
или что-то в этом контексте.Если это не то решение, которое вы ищете, пожалуйста, предоставьте больше информации о том, что вы имеете в виду под «Многофазностью»
ae, получает ли пользователь выбор нескольких фаз, или у объекта есть фазы многократного изменения, илиоба?
[edit]
Я не очень знаком с динамическим linq, но полагаю, что это может быть решением:
var lstObjects = new List<object>();
var query = "Phase == {0}";
lstObjects.Add(Phase.Value);
for (int i = 1; i < Phase.Count; i++)
{
query += string.Format(" || Phase == {0}", i);
}
context.myList.Where(query,lstObjects.ToList());
или
for (int i = 0; i < Phase.Count; i++)
{
if (i > 0) { query+= " || "; }
query += string.Format("Phase == {0}", lstObjects[i].Value);
}
context.MyList.Where(query);
Дайте мне знать, если это работает.
[/ edit]