问题标签 [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.
asp.net-mvc - MVCScaffolding 和 AutoMapper 映射的 ViewModel
有谁知道是否有用于 MVCScaffolding 的脚手架模板等,它们为每个视图创建 ViewModel 并为它们添加 AutoMapper 映射?我想遵循 Jimmy Boggards 的建议,即每个视图都应该有一个专用的 ViewModel,如果我可以自动化该过程会很好。
即使它使用实体的所有字段作为 ViewModel 也是一个好的开始。如果没有人做过类似的事情,我在这里看到它默认创建一个 ViewModel。所以我想知道是否有人更进一步?
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 是什么。
我应该提到,这只会在基于字符串的主键上失败。如果该字段已被声明为整数,则一切正常。
这是有问题的表:
这是我的环境:
asp.net-mvc - Ninject 和 MVC 脚手架
我正在尝试为 Repository 自定义 MVC Scaffolding T4 模板,以便它在我的 App_Start\NinjectMVC3.cs 类中创建 Ninject 绑定。
我可以更改模板以自定义创建的存储库,但是对于如何使模板将内容添加到单独的文件中,我有点茫然。
有人做过类似的事情吗?另外我想将存储库及其接口拆分为单独的文件会很方便。
谢谢
asp.net-mvc-3 - MVC3 createoredit 模板现在在可为空的 int 字段上爆炸
在对我的项目进行了一些升级之后,突然我生成的“_createoredit.cshtml”文件被这样炸毁了:
传入字典的模型项为空,但此字典需要“System.Int32”类型的非空模型项。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:传入字典的模型项为空,但此字典需要“System.Int32”类型的非空模型项。
源错误:
它引用的字段是可为空的 int 类型。这只是以前的工作(生产版本仍然运行良好),我对项目所做的更改不应该触及它使用的任何东西,所以现在我无法弄清楚为什么这会爆炸。
更新 1-从模型中添加字段 def
此外,我已经验证所有可为空的值类型都存在同样的问题。
c# - 脚手架和显示/编辑器模板
假设我有以下型号:
我在包管理器中运行以下命令:
生成一些视图和东西......但看起来脚手架忽略了任何复杂/非标量数据类型,因此生成了几乎没有用的视图。
我想知道是否有可能指示脚手架对事情更聪明一点。这是我想要发生的事情:
- 脚手架在共享文件夹中创建编辑器/显示模板
- 用于
EditorFor
利用这些模板
实现这一点的所有代码似乎都是由脚手架生成的,但其结构让我感到惊讶,_CreateOrEdit.cshtml
在与视图关联的文件夹中生成了“模板”。对我来说,这表明脚手架生成的代码不适合以递归方式为模型生成视图的方式。
是我的期望偏离了,还是我错过了什么?
entity-framework-4.1 - MvcScaffolding 创建未处置的可处置资源
将 MvcScaffolding 与 EF4.1 一起使用,我看到 Controller 的第一行生成的通常是以下字段定义:
其中BarContext
如下:
鉴于该System.Data.Entity.DbContext
实现IDisposable
,我很惊讶没有为可能负责处理FooController
的方法找到任何生成的覆盖。Dispose(bool)
context
这是模板中的疏忽,还是我遗漏了什么使这成为非问题?
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 类是否不需要知道关键字段是什么?
c++ - 任何使用 T4 和 Powershell 进行 MFC 的代码生成器?
我对 MVC 脚手架印象深刻。我理解它的局限性,但我认为使用 t4 和 powershell 来自动化重复编码是一个很好的尝试。
我想知道 MFC 或 C++ 是否有类似的东西。我想我仍然可以将 MVC 脚手架与自定义模板或类似的东西一起使用。但我不想重新发明轮子,这导致了这个问题。
asp.net-mvc - EF Code First:模型类型在存储库中没有复数
我有一个State
模型类:
我正在尝试创建一个Repository
:
我有生成的文件:
而不是context.StateS
.
财产
已成功添加到DbContext
班级。
我没有覆盖的OnModelCreating
方法。
有时我在不同的项目中提到这样的问题但找不到原因。
asp.net-mvc-3 - T4 模板获取属性
我正在尝试自定义 MVCScaffolding 中使用的 T4 模板。我想过滤掉具有该属性的NotMapped
属性。
我的问题是属性集合似乎是空的。我尝试打印出如下属性:
我找不到有关此实际有效的任何信息,到目前为止,这是一个非常缓慢的试验和错误案例。获取属性或让模板忽略未映射属性的正确方法是什么?