1

部分クラスに設定された属性をオーバーライドすることは可能ですか?

したがって、次のような自動生成された部分クラスが 1 つあります。

[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
4

1 に答える 1

1

このエラーが発生するのは、属性が[AttributeUsage]宣言でその属性のインスタンスが1つであるか多数であるかを制御でき、宣言が1つだけであるためです。いいえ、残念ながらそれは機能しません...

新しいエンティティを指すようにデザイナのマッピングを変更してみませんか?それが同じように機能するかどうかはわかりませんが、試してみる価値はあります。

于 2010-06-18T01:55:30.443 に答える