小编Mat*_*ete的帖子

ViewData是ViewBag for ASP.Net 5(核心)的新标准吗?

我注意到在ASP.Net 5(核心)的所有示例和教程中我都看到了Microsoft和VS 2015中的默认Web应用程序模板@ViewData["XXX"]而不是使用@ViewBag.XXX.这是现在推荐的从控制器传递数据而不是ViewBag?我知道这ViewBag是一个包装,ViewData但在他们使用的旧教程(ASP.NET 4.5)中ViewBag.如果他们现在鼓励开发人员使用ViewData为什么要改变?

asp.net-core-mvc asp.net-core

30
推荐指数
1
解决办法
8465
查看次数

在实体框架7中指定ON DELETE NO ACTION?

在Entity Framework 7中,当我尝试应用迁移时,我收到错误

在表'ChangeOrder'上引入FOREIGN KEY约束'FK_ChangeOrder_User_CreatedByID'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.
无法创建约束.查看以前的错误.

我知道在旧版本的Entity Framework中你可以通过添加来解决这个问题

modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
Run Code Online (Sandbox Code Playgroud)

到DbContext,但在EF7 modelBuilder似乎没有.Conventions它和谷歌只返回旧的EF 4虽然EF 6结果.

如何ON DELETE NO ACTION在Entity Framework 7中具体约束?

编辑:奥列格提供的答案显然是按照外键进行的,但是我想在全局范围内进行,因为使用一行代码来全局声明这一点会更容易,然后必须为每一个代码指定代码.我将最终拥有数百种关系.

编辑2:奥列格的代码

public class ChangeOrder
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int ID { get; set; }

    public Int16? ApprovedByID { get; set; }
    public Byte ApprovalStatusID { get; set; }
    public Int16 AssignedToID { get; set; }
    public Int16 CreatedByID { get; set; }
    public Byte CurrentStatusID { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

29
推荐指数
2
解决办法
3万
查看次数

升级到Visual Sudio 2015,现在无法在调试中达到断点

我有一个我在Visual Studio 2013中构建的多项目解决方案,它工作正常,但现在我已升级到Visual Studio 2015,我无法再在调试模式下达到断点,因为任何项目都会选择作为选定的主项目"项目属性"页面中的启动项目.我曾经能够点击其他项目,只需选择Debug - > Start New Instance.我收到了The breakpoint will not currently be hit. No symbols have been loaded for this document.我在Google上发现的很多错误,包括:

  • 清洗/重建
  • 从项目中删除OBJ和BIN文件夹
  • VS修复了吗?
  • 重新启动
  • 卸载/重新安装
  • 为Properties - > Build启用了Confirmed Define DEBUG约束
  • 对于Properties - > Build,未选中Confirmed Optimize Code
  • 确认的属性 - > Build =>平台目标设置为所有项目的任何CPU
  • 尝试使用"以管理员身份运行"运行VS
  • 删除/ AppData/Local/Temp/Temporary ASP.Net Files /中的所有文件
  • 确保选择Debug - > Attack to Process - > Select"自动确定要调试的代码类型"
  • 确保属性 - > Web - > Debuggerts已检查ASP.Net(我的属性有ASP.NEt和启用编辑并继续检查,Natvie代码SQL Server和Silverlight未选中)
  • 属性中的已确认目标框架 - >应用程序设置为与Web.Config/App.Config文件中相同的版本(4.6).

那我在这里错过了什么?为什么我不能再调试其他项目?

c# asp.net debugging visual-studio-2015

27
推荐指数
5
解决办法
4万
查看次数

配置EF6使用varchar作为默认值而不是nvarchar?

我知道我可以为每个属性添加一个数据注释来设置它的列类型VARCHAR但是我有数百个列我想要VARCHAR而不是NVARCHAR有一些方法来设置EF6使其成为默认值吗?

ef-code-first entity-framework-6

19
推荐指数
1
解决办法
7157
查看次数

ASP.Net Core,在控制器中检测调试与不调试

我正在编写我的第一个ASP.Net代码Web应用程序,在我的控制器中,我希望有一个if声明,检查我是否处于调试模式.我知道在Startup.cs文件中我可以检查,env.IsDevelopment()但那是因为IHostingEnvironment传入它.我无法在普通控制器中找到检查此状态的方法.ASP.Net Core中是否有一种方法可以检测我在控制器内部处于调试模式时是否缺少?

c# asp.net-core-mvc asp.net-core

13
推荐指数
3
解决办法
7181
查看次数

从Visual Studio中删除项目类型

如何从Visual Studio中删除项目类型?我创建了一个并用VSIX文件安装它,但我想改变它,新的VSIX文件说我无法安装新的,因为旧的存在.

TIA.

visual-studio-2013

11
推荐指数
1
解决办法
247
查看次数

ASP.Net 5类库包中的EntityFramework命令?

我正在尝试开发我的第一个ASP.Net Web应用程序,在我的解决方案中,我有两个项目.A Web ApplicationClass Library (Package).当我构建这个应用程序的ASP.Net 4.5版本时,我将我的Entity Framework 6实体放入一个类库中,所以我在ASP.Net 5版本中这样做.问题是,当我安装EntityFramework.Commands到类库时,我收到错误:

Project DBEntities中的依赖项EntityFramework.Command 7.0.0-rc1-final不支持框架.NetPlatform,Version = 5.4

我从认识这太问题是,dotnet5.4是新的.NET 5这是应该由EF7支持.

这是我的project.json档案:

{
  "version": "1.0.0-*",
  "description": "FFInfo.DAL Class Library",
  "authors": [ "Mathew" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",
    "frameworks": {
        "dotnet5.4": {
            "dependencies": {
                "Microsoft.CSharp": "4.0.1-beta-23516",
                "System.Collections": "4.0.11-beta-23516",
                "System.Linq": "4.0.1-beta-23516",
                "System.Runtime": "4.0.21-beta-23516",
                "System.Threading": "4.0.11-beta-23516"
            }
        }
    },
    "dependencies": {
        "EntityFramework.Commands": "7.0.0-rc1-final",
        "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final"
    }
}
Run Code Online (Sandbox Code Playgroud)

我是否安装了错误的软件包,EF7改变了很多,以至于我错误地构建了类,或者我在json文件中遗漏了什么? …

entity-framework-core .net-core asp.net-core

10
推荐指数
1
解决办法
2622
查看次数

如何将 EF 核心脚手架到现有数据库?

我正在尝试使用Entity Framework Core. 我试图按照Microsoft的指示进行操作但出现错误:

无法找到名称为 EntityFramework 的提供程序程序集。确保指定的名称正确并被项目引用。

我正在从项目目录运行以下命令:

dnx ef dbcontext scaffold "Server=REMOVED;Database=REMOVED;User ID=REMOVED;Password=REMOVED" EntityFramework
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ef-code-first entity-framework-core asp.net-core

10
推荐指数
3
解决办法
2万
查看次数

新的.Net Core 2站点不会重新配置Configuration.GetConnectionString

我正在从一个空的ASP.NET Core 2模板创建一个新的网站,并按照Microsoft Entity Framework Tutorial帮助我进行设置.有一点,你有添加代码:

services.AddDbContext<SchoolContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
Run Code Online (Sandbox Code Playgroud)

ConfigureServices()方法Startup.cs.我这样做,但在我的项目的Visual Studio给我那个小红线下ConfigurationConfiguraiton.GetConnectionString

我以为我错过了一个声using明甚至是一个包,但是Visual Studio 2017快速操作并没有识别出using要使用的语句,而且我确实安装了Microsoft.AspNetCore.All包,所以我应该拥有所有包.

我错过了什么使得Configuration不被认可?

编辑:错误是:

"配置"名称在当前上下文中不存在

public void ConfigureServices(IServiceCollection services)
{
     services.AddDbContext<CollectionContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
     services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core asp.net-core-2.0 asp.net-core-3.0

9
推荐指数
1
解决办法
5935
查看次数

在DisplayName属性中插入换行符

在我的ViewModel中有一个需要2行标签的属性,但是当我<br />DisplayName属性中放置HTML代码时,会将HTML代码打印到页面而不是被解释为换行符.有没有办法DisplayName让它有一个换行符呢?

视图:

    <tr>
        <td>
            @Html.LabelFor(m => m.GrossGallons)
        </td>
        <td>
        </td>
    </tr>
Run Code Online (Sandbox Code Playgroud)

视图模型:

    [DisplayName("Gross Gallons <br /> (Max: 6,000)")]
    public decimal GrossGallons { get; set; }
Run Code Online (Sandbox Code Playgroud)

输出试图得到:

Gross Gallons
(Max: 6,000)
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc asp.net-mvc-viewmodel

8
推荐指数
1
解决办法
4971
查看次数