Sam*_*Sam 5 c# asp.net generics asp.net-mvc visual-studio
是否有理由在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; }
}
Run Code Online (Sandbox Code Playgroud)
尝试使用Country实体创建脚手架视图(例如,List,Create,Edit,Delete)会导致以下错误弹出:
运行所选代码生成器时出错:'方法或操作未实现.'
如果我通过为Id定义固定类型来删除TKeytype参数并使其成为Entity非泛型,那么我可以构建视图.
我知道在这个简单的例子中,我并没有通过使用通用基类来节省很多工作.我也知道"最佳实践"是在视图中使用View Models而不是Domain Models.但是,我想了解为什么使用泛型类型的基类会导致脚手架出现问题.
小智 3
我也遇到了这个错误,并发现 Microsoft Connect 上已经报告了该错误。目前我们唯一的选择似乎是:
注意:似乎同样的问题也会影响 Visual Studio 2013(更新 5),但我没有找到任何相关的错误跟踪器条目。
如果您想跟踪错误修复的进展或向支持团队提供更多信息,您可以在此处访问 Microsoft 的错误跟踪器: https ://connect.microsoft.com/VisualStudio/feedback/details/2187798/mvc -视图脚手架不工作