具有相同属性的实体的一个控制器/视图? (DRY代码)

问题描述:

我们有很多查找实体都具有相同的结构 - 只是ID和名称。例如,性别,种族只是患者视图上的下拉列表。每个查找实体都有查看/添加/编辑值的视图。每个实体都有自己的控制器,它们具有几乎相同的操作 - 索引(查看列表),创建和编辑。唯一不同的是这种类型。具有相同属性的实体的一个控制器/视图? (DRY代码)

有没有办法创建一个控制器和一组视图来管理所有这些使用泛型,基础实体,其他技术或这些组合的查找实体?

+0

的'DefaultModelBinder'的工作原理是,除非它知道类型的第一初始化模式,它不能做的实例,所以在创建/编辑时,使用界面或基本类型的视图不会工作。 – 2015-02-07 00:09:42

你可以做的一件简单的事情就是为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