问题标签 [asp.net-mvc-scaffolding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1257 浏览

asp.net-mvc - MVCScaffolding 和 AutoMapper 映射的 ViewModel

有谁知道是否有用于 MVCScaffolding 的脚手架模板等,它们为每个视图创建 ViewModel 并为它们添加 AutoMapper 映射?我想遵循 Jimmy Boggards 的建议,即每个视图都应该有一个专用的 ViewModel,如果我可以自动化该过程会很好。

即使它使用实体的所有字段作为 ViewModel 也是一个好的开始。如果没有人做过类似的事情,我在这里看到它默认创建一个 ViewModel。所以我想知道是否有人更进一步?

0 投票
2 回答
1575 浏览

asp.net-mvc-3 - MVC3/Razor 添加控制器“Get-PrimaryKey”找不到主键

我已经基于现有数据库创建了一个实体框架模型。实体框架正在使用 ADO.NET DbContext 生成器。

我还创建了一个使用第一个项目中的 DLL 的 MVC3/Razor 项目。当我单击选项“添加 -> 控制器”并填写必填字段时,我收到一个烦人的错误:

为了解决这个问题,我需要转到由 Visual Studio 生成的 Groups.cs 并添加“使用 System.ComponentModel.DataAnnotations;” 然后将 [Key] 添加到 Groups 字段的声明中。但是,这是生成的代码。如果我重新编译实体框架项目,我的更改当然会丢失。

所以 - 我的问题是:

我是否做错了什么导致 Visual Studio 无法弄清楚 Key 字段是什么,或者这只是脚手架代码的一个错误,它阻止它弄清楚 Key 是什么。

我应该提到,这只会在基于字符串的主键上失败。如果该字段已被声明为整数,则一切正常。

这是有问题的表:

这是我的环境:

  • 视觉工作室 2010
  • 实体框架 4.1
  • MVC 3
  • 带有 SP3 的 SQL Server 2008
  • 0 投票
    1 回答
    371 浏览

    asp.net-mvc - Ninject 和 MVC 脚手架

    我正在尝试为 Repository 自定义 MVC Scaffolding T4 模板,以便它在我的 App_Start\NinjectMVC3.cs 类中创建 Ninject 绑定。

    我可以更改模板以自定义创建的存储库,但是对于如何使模板将内容添加到单独的文件中,我有点茫然。

    有人做过类似的事情吗?另外我想将存储库及其接口拆分为单独的文件会很方便。

    谢谢

    0 投票
    2 回答
    815 浏览

    asp.net-mvc-3 - MVC3 createoredit 模板现在在可为空的 int 字段上爆炸

    在对我的项目进行了一些升级之后,突然我生成的“_createoredit.cshtml”文件被这样炸毁了:

    传入字典的模型项为空,但此字典需要“System.Int32”类型的非空模型项。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

    异常详细信息:System.InvalidOperationException:传入字典的模型项为空,但此字典需要“System.Int32”类型的非空模型项。

    源错误:

    它引用的字段是可为空的 int 类型。这只是以前的工作(生产版本仍然运行良好),我对项目所做的更改不应该触及它使用的任何东西,所以现在我无法弄清楚为什么这会爆炸。

    更新 1-从模型中添加字段 def

    此外,我已经验证所有可为空的值类型都存在同样的问题。

    0 投票
    1 回答
    908 浏览

    c# - 脚手架和显示/编辑器模板

    假设我有以下型号:

    我在包管理器中运行以下命令:

    生成一些视图和东西......但看起来脚手架忽略了任何复杂/非标量数据类型,因此生成了几乎没有用的视图。

    我想知道是否有可能指示脚手架对事情更聪明一点。这是我想要发生的事情:

    • 脚手架在共享文件夹中创建编辑器/显示模板
    • 用于EditorFor利用这些模板

    实现这一点的所有代码似乎都是由脚手架生成的,但其结构让我感到惊讶,_CreateOrEdit.cshtml在与视图关联的文件夹中生成了“模板”。对我来说,这表明脚手架生成的代码不适合以递归方式为模型生成视图的方式。

    是我的期望偏离了,还是我错过了什么?

    0 投票
    1 回答
    221 浏览

    entity-framework-4.1 - MvcScaffolding 创建未处置的可处置资源

    将 MvcScaffolding 与 EF4.1 一起使用,我看到 Controller 的第一行生成的通常是以下字段定义:

    其中BarContext如下:

    鉴于该System.Data.Entity.DbContext实现IDisposable,我很惊讶没有为可能负责处理FooController的方法找到任何生成的覆盖。Dispose(bool)context

    这是模板中的疏忽,还是我遗漏了什么使这成为非问题?

    0 投票
    2 回答
    7013 浏览

    entity-framework-4.1 - Entity Framework 4.1 Database First 不向 DbContext T4 生成的类添加主键

    我刚刚开始使用 Entity Framework 4.1,尝试“数据库优先”模式。当 EF 使用“ADO.Net DbContext Generator”生成模型类时,它不应该使用 [Key] 属性标识类的主键吗?没有这个,它似乎与 T4 MVCScaffolding 不兼容。

    以下是详细信息:

    使用实体数据模型设计器 GUI,我从现有数据库中向模型添加了一个简单的“国家”表。GUI 正确地将名为“PK”的单个整数标识键字段识别为我的主键。(唉!我是新用户,所以我不能添加屏幕截图。我在下面包含了 CSDL。)但是,当 EF 使用“ADO.Net DbContext Generator”生成代码时,它不能识别 PK field 作为生成类中的关键字段(参见下面的代码摘录)。

    “国家”表的 CSDL:

    这是自动生成的代码:

    当我尝试使用 MVCScaffolding T4 模板构建控制器时,这会导致问题。我收到错误“没有属性似乎是主键”。NuGet 包管理器控制台的命令和输出如下:

    但是,如果我手动更改生成的类以向字段添加 [Key] 属性,那么上面显示的完全相同的脚手架命令可以正常工作:

    那么为什么 EF Database First 和 T4 MVCScaffolding 不能很好地结合在一起呢?即使没有脚手架问题,EF 类是否不需要知道关键字段是什么?

    0 投票
    1 回答
    343 浏览

    c++ - 任何使用 T4 和 Powershell 进行 MFC 的代码生成器?

    我对 MVC 脚手架印象深刻。我理解它的局限性,但我认为使用 t4 和 powershell 来自动化重复编码是一个很好的尝试。

    我想知道 MFC 或 C++ 是否有类似的东西。我想我仍然可以将 MVC 脚手架与自定义模板或类似的东西一起使用。但我不想重新发明轮子,这导致了这个问题。

    0 投票
    1 回答
    152 浏览

    asp.net-mvc - EF Code First:模型类型在存储库中没有复数

    我有一个State模型类:

    我正在尝试创建一个Repository

    我有生成的文件:

    而不是context.StateS.

    财产

    已成功添加到DbContext班级。

    我没有覆盖的OnModelCreating方法。

    有时我在不同的项目中提到这样的问题但找不到原因。

    0 投票
    1 回答
    1003 浏览

    asp.net-mvc-3 - T4 模板获取属性

    我正在尝试自定义 MVCScaffolding 中使用的 T4 模板。我想过滤掉具有该属性的NotMapped属性。

    我的问题是属性集合似乎是空的。我尝试打印出如下属性:

    我找不到有关此实际有效的任何信息,到目前为止,这是一个非常缓慢的试验和错误案例。获取属性或让模板忽略未映射属性的正确方法是什么?