В коде вы можете вызывать ToList () на всех ваших DbSets. В противном случае вам придется написать хранимую процедуру, которая выполняет UNION
, и просто вызвать sp.
public List<object> GetAllEntities(MyContext db)
{
var results = new List<object>();
results.AddRange(db.Customers.ToList());
results.AddRange(db.Providers.ToList());
results.AddRange(db.Products.ToList());
return results;
}
EDIT:
Хорошо для безымянного списка, используйте рефлексию.
MyContext db = new MyContext();
var resultsList = new List<object>();
PropertyInfo[] info = db.GetType().GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach(PropertyInfo item in info)
{
//Check for array, that it is a DbSet etc...
var setType = item.PropertyType.GetTypeInfo().GenericTypeArguments[0];
resultsList.AddRange(db.Set(setType).ToListAsync().Result);
}
return resultsList;