是否有理由在Visual Studio 2015中内置的MVC View Scaffolding不能与包含通用ID的继承基类一起使用?简单的测试用例:
public abstract class BaseEntity
{
}
public abstract class Entity<TKey> : BaseEntity
{
public TKey Id { get; set; }
}
public class Country : Entity<int>
{
public string Name { get; set; }
public string CountryCode { get; set; }
}
尝试使用Country实体创建一个scaffolded视图(例如List,Create,Edit,Delete)会导致以下错误弹出:
运行所选代码生成器时出错:&#39;方法或操作未实现。&#39;
如果我删除TKey
类型参数并通过为Id定义固定类型使Entity
非泛型,我可以构建视图。
我知道在这个简单的例子中,我没有通过使用通用基类来节省很多工作。我也知道&#34;最佳做法&#34;是在视图中使用View Models而不是Domain Models。但是,我想了解为什么使用泛型类型的基类会导致脚手架出现问题。
答案 0 :(得分:2)
我也遇到过这个bug,发现它已经在Microsoft Connect上报告了。我们现在看来唯一的选择是:
注意:似乎同样的问题会影响Visual Studio 2013(更新5),但我没有找到任何错误跟踪器条目。
如果您想跟踪错误修复的进展或向支持团队提供更多信息,您可以访问Microsoft的错误跟踪器: https://connect.microsoft.com/VisualStudio/feedback/details/2187798/mvc-view-scaffolding-not-working