У меня проблема при добавлении метаданных в класс, названный в качестве зарезервированного ключевого слова. Во время генерации модели данных (файл DBML) к имени класса был добавлен символ @, чтобы он работал.
Когда я применяю метаданные к классу, он не работает (информация метаданных не учитывается - DisplayName и другие средства проверки). Для всех других классов моего проекта (у которых нет имени класса в качестве зарезервированного ключевого слова, это работает). В настоящее время невозможно переименовать этот класс.
Сгенерированное определение класса:
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.operators")]
public partial class @operator : INotifyPropertyChanging, INotifyPropertyChanged
{...}
Определение класса метаданных:
[MetadataType(typeof(OperatorMetaData))]
public partial class @operator
{
}
public class OperatorMetaData
{
[DisplayName("Operator Type")]
[Required(ErrorMessage = "Operator type is required.")]
public int operator_type_id { get; set; }
...
}
Кто-нибудь есть идеи, как обойти это? Или что я сделал не так?