在尝试了这种事情之后:如何在运行时添加属性级属性来映射 ColumnAttribute?我发现了另一个问题。
原因是我想重用 DataContext 的同一个实例。但是,当我想在更改后刷新 DataContext 时,我得到 ArgumentException '已添加具有相同键的元素'。到目前为止,我已经尝试过:
FieldInfo field = DataContext.Mapping.GetType().GetField("metaTables", BindingFlags.NonPublic | BindingFlags.Instance);
Dictionary<Type, MetaTable> metaModels = field.GetValue(DataContext.Mapping) as Dictionary<Type, MetaTable>;
metaModels.Remove(typeof(MyClass)); //Remove the class that I've modified
DataContext.Mapping.GetTable(typeof(MyClass)); //ArgumentException