是否有理由在Visual Studio 2015中内置的MVC View Scaffolding不能与包含通用ID的继承基类一起使用?简单的测试案例:
public abstract class BaseEntity { } public abstract class Entity: BaseEntity { public TKey Id { get; set; } } public class Country : Entity { public string Name { get; set; } public string CountryCode { get; set; } }
尝试使用Country实体创建脚手架视图(例如,List,Create,Edit,Delete)会导致以下错误弹出:
运行所选代码生成器时出错:'方法或操作未实现.'
如果我通过为Id定义固定类型来删除TKey
type参数并使其成为Entity
非泛型,那么我可以构建视图.
我知道在这个简单的例子中,我并没有通过使用通用基类来节省很多工作.我也知道"最佳实践"是在视图中使用View Models而不是Domain Models.但是,我想了解为什么使用泛型类型的基类会导致脚手架出现问题.