Puede hacerlo a través de la reflexión. Básicamente, iteras sobre las propiedades en tu clase DataContext. Para cada propiedad, verifique si el tipo de parámetro genérico de esa propiedad tiene el atributo TableAttribute. Si es así, esa propiedad representa una tabla:
using System.Reflection;
using System.Data.Linq.Mappings;
PropertyInfo[] properties = typeof(MyDataContext).GetProperties();
foreach (PropertyInfo property in properties)
{
if(property.PropertyType.IsGenericType)
{
object[] attribs = property.PropertyType.GetGenericArguments()[0].GetCustomAttributes(typeof(TableAttribute), false);
if(attribs.Length > 0)
{
Console.WriteLine(property.Name);
}
}
}
Bien, no sabía de eso. –
whooo hoo ¡eso es aún mejor! – Sergey
Sí, sigo encontrando cosas así yo mismo. Siempre es divertido pasar uno en :). –