我正在尝试找到关于如何在nuPack上使用MvcScaffold包的文档,但我找不到任何地方.
我知道我在Package Management Console中有基本的intellisense支持,但我想做一些比典型的脚手架更复杂的事情.
我希望某处会有一些文档.
有谁知道这个包装上有哪些文件?
我们有一个服务器应用程序,它通过许多协议将特定模型和基于该模型构建的服务集暴露给特定的客户端UI.这是一种服务器应用程序,一旦设置,就不需要太多的手动干预.但是,偶尔(特别是在首次部署解决方案时),必须进行某些模型对象的创建和链接.
此解决方案基于Spring,Spring MVC和Hibernate(以及其他内容)构建,使用JPA注释来处理ORM.
我的问题:有没有人知道一个框架,它允许我快速设置(理想情况下纯粹通过配置)一个Web界面来管理(CRUD)实体?这不一定是花哨的,也不需要花哨的安全性(我可以从应用程序服务器中处理安全性).然而,它需要能够处理实体之间的复杂关系(集合映射,枚举等).
例如:应用程序有一个实体User,它具有与之关联的典型Role实体(每个用户有1个Role).现在,在没有从头创建我们自己的Web层的情况下定义它的唯一方法是:
显然,如果我们有一个基本的Web界面(我们不需要自己开发)和服务器一起处理这些任务(创建,更新,删除......)会更容易.
史蒂夫桑德森有一个很棒的博客,详细介绍了MvcScaffolding.在这里查看http://blog.stevensanderson.com/2011/01/13/mvcscaffolding-standard-usage/
他还有一个很棒的视频http://channel9.msdn.com/Series/mvcConf/mvcConf-2-Steve-Sanderson-MvcScaffolding
在他的博客中他提到...... ModelType:默认情况下,我们尝试从控制器名称推断出这一点,但如果您希望控制器和模型具有完全不相关的名称,则可以使用此参数指定特定的模型类型.我们将在您的项目或其引用的另一个项目中找到任何模型类,但不能在任何外部程序集中找到.
我们的ViewModel保存在同一解决方案中的单独项目中.但是我们引用DLL所以Get-ProjectType -ModelType ourVM -Project OurProject找不到模型.
没问题,它是一个开源项目.我将删除代码并调整Get-ProjectType.
我无法找到PowerShell中定义Get-ProjectType的位置.(解决)
有很多关于如何使用动态数据和ASP.NET MVC实现和自定义脚手架的信息.在这种情况下使用脚手架的定义究竟是什么?
asp.net-mvc scaffolding dynamic-data scaffold asp.net-dynamic-data
我最近为一个客户端完成了一个MVC3项目,该项目使用了一个使用微型ORM实现的Repository模式,以及一个用于我的业务逻辑的服务层.恕我直言,该应用程序运行良好,客户很高兴.
但是每当我想添加/实现新服务和相关的DTO时,我都必须编写很多样板代码.此外,还有相当数量的代码重复,将DTO转换为View Models,然后再返回相关的PEBKAC.随着需求的发展,需要将数据库模式的更改传播到View模型.
对于不同的客户我继承了给我带来了很多麻烦,直到我固定在基本模板的一些缺陷.netTiers代码生成项目,使用自动化的MSBuild和,也使用的MSBuild的代码生成,按摩生成的代码来获得它建立没有以前需要的手动调整目录..netTiers最终产生了许多有用的代码,但是有大量的重复,一堆复杂性,感觉就像用一把大锤去皮猫.
现在我正在寻找另一个MVC3项目,我想避免自己编写所有样板,但我也想避免完整的.netTiers类型代码生成.我没有用EF.我倾向于认为它对于我承担的项目规模而言是一个太大的工具,但如果它可以为我带走一些手动步骤那么这将是一个很大的节省时间.EF的优点是什么?它会为我设计服务层吗?
我正在考虑的另一个选项是LightSpeed,这需要我花一些钱(不是很多),但如果它可以为我生成服务层代码,那将花费很多钱.LightSpeed是否支持这种类型的代码生成?
显然,随着域模型和数据库模式的发展,需要更新服务以适应这些变化..netTiers通过生成部分类来实现这一点.这些其他工具如何在不覆盖服务层中的任何自定义逻辑的情况下处理这些更改?
还有哪些其他选择?
更新:感谢所有的反馈,很多积极的选择.有没有人看过MVC脚手架?
更新#2:我将继续推行MVCScaffolding选项,为EF Code First生成代码.开箱即用它会产生一个Repository类,然后有点不幸地将它与模型结合在一起,而MVC实际上是View Model而不是 Domain Model.对于服务层脚手架的MVCScaffolding项目有一个pull请求,因此将调查该选项.加上AutoMapper用于映射POCO < - > DTO.
要在我的编辑视图中呈现HTML,我使用帮助器@Html.EditorForModel().
我的模特:
[Required(ErrorMessage = "Campo obrigatório")]
[Display(Name = "Nome completo")]
public string Name { get; set; }
[Required(ErrorMessage = "Campo é obrigatório")]
[StringLength(100, ErrorMessage = "A {0} deve ter pelo menos {2} characteres.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Senha")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar senha")]
[Compare("Password", ErrorMessage = "A nova senha e a confirmação da senha não conincidem.")]
public string ConfirmPassword { get; set; }
[Required(ErrorMessage = "Campo obrigatório")]
[Display(Name = …Run Code Online (Sandbox Code Playgroud) scaffolding mvc-editor-templates data-annotations razor asp.net-mvc-3
当我使用rails g scaffold Model key:string value:string命令时,它会创建控制器和视图(erb、scss、js)。如何仅生成仅以 JSON 格式响应的控制器。
我有一个使用 EF Core 的 .NET Core 项目。我们数据库中已经有一些表,因此我使用 EF Core 脚手架命令将所有表导入到我的应用程序中。
一切都很顺利,我已经构建了模型,我可以使用它们来访问数据库。
现在,我想改变我的模型,就像 EF Core Code First 方法一样。我更改模型并运行迁移。
但我的迁移失败并出现以下错误消息:
错误 CS0102:类型“mydbContext”已包含“激活”的定义
“激活”是我的数据库中的表。数据库中的每个表都会引发此错误。我无法运行迁移。
我的问题是,我该怎么做才能成功运行迁移并继续使用 Code First 方法?
我查看了各个地方和微软文档。但没有人展示如何在成功搭建脚手架后进行迁移。
PM> Add-Migration Initial -Context MyApp.Models.mydbContext
error CS0102: The type 'mydbContext' already contains a definition for
'Activation'
error CS0102: The type 'mydbContext' already contains a definition for
'Session'
....
Run Code Online (Sandbox Code Playgroud)
我希望成功运行迁移并能够从代码更新数据库表。
我使用Asp.net core,我已经架式所有的identity pages,它在我的名为root目录中创建一个文件夹areas> Identity> Pages,我都在这里剃刀页面和账户的某些页面文件夹,如图所附照片中的一些管理文件夹中。
问题是,我无法找到我的编辑页面布局profile page这是目前在
区域 > 身份 > 页面 > 帐户 > 管理 > Index.cshtml
我在管理文件夹中有一个 _Layout.cshtml 文件,它引用了一个布局
@{
Layout = "/Areas/Identity/Pages/_Layout.cshtml";
}
Run Code Online (Sandbox Code Playgroud)
但是我在我的目录中找不到被引用的文件,我的 Pages 目录中有以下文件
我什至尝试_layout.cshtml再次创建脚手架文件,看看我是否没有错过使用添加 > 新建脚手架项目 > 身份,但我什至无法在这里找到它
问题在我的视图 > 共享 > _Layout.cshtml 文件中
但是当我进入我的个人资料页面时,我只能在标题上看到我的项目名称,我无法将其更改为我的徽标
我希望在我的个人资料页面中显示我的项目徽标,该页面在我的解决方案中找不到。任何帮助将不胜感激。
我相信你们大多数人都知道,您可以在 ASP.NET Core Web Api 项目中使用 Nuget 包 Microsoft.VisualStudio.Web.CodeGeneration.Design 来创建具有 GET、POST、PUT 等方法的 Api 控制器类,甚至实体框架代码在那里。
现在我的问题是:如果我想自己写怎么办?我发现了新的 C# 源生成器 ( https://devblogs.microsoft.com/dotnet/new-c-source-generator-samples/ ),但它们在编译时创建代码。我想做这个 NuGet 包所做的同样的事情:通过在 Visual Studio 中的 Powershell 控制台中键入命令来在设计时创建代码,甚至将我自己的选项添加到上下文菜单中,因此代码生成器(Scaffolder)将文件添加到我的我可以查看、编辑和单元测试的项目。
不幸的是,我找不到关于这个主题的太多信息。你能帮我吗?
//编辑:为了明确这一点:我不想修改现有的 ASP.NET Core 脚手架。我想创建自己的扩展,并且正在寻找教程、示例或任何可以帮助我入门的东西:)
scaffolding ×10
asp.net-core ×2
asp.net-mvc ×2
.net-core ×1
api ×1
c# ×1
dynamic-data ×1
hibernate ×1
java ×1
json ×1
migration ×1
nuget ×1
razor ×1
repository ×1
ruby ×1
scaffold ×1
spring ×1