在MVC应用程序中,我想向我的域模型添加错误和信息消息,但不要将它们保留到数据库中。
目前我有从EntityTypeConfiguration继承的映射类,例如:
public class ComputerMap : EntityTypeConfiguration<Computer>
所以我计划创建一个继承自EntityTypeConfiguration的泛型类,以便我可以向所有派生类添加Ignore()声明。类似的东西:
protected class MessagableConfiguration<T> : EntityTypeConfiguration<T>
{
public MessagableConfiguration()
{
Ignore(t => Errors);
Ignore(t => Info);
}
}
然后继承MessagableConfiguration,如下所示:
public class ComputerMap : MessagableConfiguration<Computer>
我不确定如何声明MessagableConfiguration。我试过这个:
public class MessagableConfiguration<Messagable> : EntityTypeConfiguration<Messagable>;
..这是described here ..但我的intellisense告诉我&#34;参数Messagable隐藏类Messagable&#34;
BTW Messagable是计算机和其他类派生的基类。
正确的语法是什么,或者我做错了什么。还有更好的方法吗?
答案 0 :(得分:2)
您可以使用Type Constraint编写如下代码:
public class MessagableConfiguration<T> :EntityTypeConfiguration<T> where T: Messagable