具有相同属性的实体的一个控制器/视图? (DRY代码)
问题描述:
我们有很多查找实体都具有相同的结构 - 只是ID和名称。例如,性别,种族只是患者视图上的下拉列表。每个查找实体都有查看/添加/编辑值的视图。每个实体都有自己的控制器,它们具有几乎相同的操作 - 索引(查看列表),创建和编辑。唯一不同的是这种类型。具有相同属性的实体的一个控制器/视图? (DRY代码)
有没有办法创建一个控制器和一组视图来管理所有这些使用泛型,基础实体,其他技术或这些组合的查找实体?
答
你可以做的一件简单的事情就是为ID和名称创建一个接口。然后在你需要的模型中继承它。
例
public interface IEntity
{
int Id { get; set; }
string Name { get; set; }
}
继承这个在您的模型
public class Gender : IEntity
{
}
+0
模型自动生成 - 我首先使用数据库。 Controller和Views是我希望能够重构的东西。 (还是)感谢你的建议。 – buck 2015-02-09 16:26:02
的'DefaultModelBinder'的工作原理是,除非它知道类型的第一初始化模式,它不能做的实例,所以在创建/编辑时,使用界面或基本类型的视图不会工作。 – 2015-02-07 00:09:42