Можно ли получить доступ к данным сопоставления Linq to SQL без экземпляра DataContext?
Я спрашиваю, потому что я пишу некоторый код генерации данных аудита, который будет запускаться только для некоторых сущностей и некоторых столбцов сущностей. Я хотел бы исправить эти метаданные в статическом конструкторе до любого доступа к БД Linq.
Например, с точки зрения производительности, было бы предпочтительнее обнаружить столбец первичного ключа объекта только один раз вместо запуска следующего кода для каждого измененного объекта в наборе изменений:
var metaTable = context.Mapping.GetTable(entityType);
var key = (PropertyInfo)metaTable.RowType.DataMembers.Single(
md => md.IsPrimaryKey).Member;
До звонка:
key.GetValue(entity, null),