Переопределить атрибут в частичном классе (DBML) - PullRequest
1 голос
/ 18 июня 2010

Можно ли переопределить набор атрибутов в частичном классе?

Итак, у меня есть один автоматически сгенерированный частичный класс, подобный этому:

[Table(Name="dbo.Users")]
public partial class MbsUser : INotifyPropertyChanging, INotifyPropertyChanged
{

Это сгенерировано в моем DBML.Проблема в том, что я не хочу, чтобы мой класс использовал эту таблицу.Я создал представление под названием "dbo.ActiveUsers" и хотел бы, чтобы оно использовалось вместо этого (для защиты от деактивированных пользователей).

Я попытался создать еще один частичный класс с таким же атрибутом, как показано ниже:

[Table(Name = "dbo.MbsUsersActive")]
public partial class MbsUser : IEquatable<MbsUser>
{

Но я получаю ошибку:

Duplicate 'Table' attribute

1 Ответ

1 голос
/ 18 июня 2010

Вы получаете эту ошибку, потому что атрибут может контролировать, есть ли один или много экземпляров этого атрибута в объявлении [AttributeUsage], и ​​он объявляет только один. Нет, это не сработает, к сожалению ...

Почему бы вам не изменить отображение в конструкторе, чтобы оно указывало на новую сущность? Не знаю, будет ли это работать так же, но стоит попробовать.

...