互いに効果的に分離された複数の「チーム」をサポートする必要がある、かなり複雑なホストされた Web アプリを設計しています。たとえば、テーブルPeople
、Areas
、Reports
などには、企業 A、B、C のチームによって入力されたデータが混在しており、企業 A のユーザーがログインした場合、関連するデータのみが表示されるはずです。企業 A. 私の計画は、 と (ほぼ) 他のすべてのタイプの間の関係を作成しTeam
、リポジトリを使用して他のすべてのタイプにアクセスし、ログインしている人の とTeamId
一致する場所を常に照会することです。TeamId
だから私は持っていたいので
[ForeignKey("Team")]
public int TeamId { get; set; }
public virtual Team Team { get; set; }
ほとんどすべてのクラスで、それらを抽象クラスに入れてそれらのプロパティを継承するといいかもしれないと考えていました。
public abstract class OfTeam {
[ForeignKey("Team")]
public int TeamId { get; set; }
public virtual Team Team { get; set; }
}
public class Person : OfTeam {
[Key]
public int Id { get; set; }
public string Name { get; set; }
}
しかし、これが継承の真の目的ではないことに気付きました。だから知りたい
- これでも機能しますか?
- それはひどい考えですか?