After trying this kind of things: How to add property-level Attribute to map ColumnAttribute at runtime? I've find another problem.
The reason it's because I want to reuse the same instance of DataContext. But when I want to refresh DataContext after changes then I get ArgumentException 'An element with the same key is already added'. I've tried this so far:
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