Я перебираю свойства различных сопоставленных таблиц в моем коде и должен знать, загружено ли каждое свойство с отложенной загрузкой.Я обнаружил, что переменная экземпляра, используемая для хранения и обозначенная атрибутом Storage
в свойстве, будет иметь тип System.Data.Linq.Link
.
. Есть ли способ использовать эти два факта во время выполнения длярешить эту проблему?
Код:
public void LazyLoad(Type tableType)
{
foreach (var prop in tableType.GetGenericArguments()[0].GetProperties())
{
if (/* IS LAZY LOADED */)
{
//real work here...
Console.WriteLine(prop.Name);
}
}
}
Отображения выглядят так:
public partial class Address
{
private System.Data.Linq.Link<string> _City;
[Column(Storage="_City", DbType="...")]
public string City
{
get { /* ... */ }
set { /* ... */ }
}
}