Tag: asp.net core mvc

原始SQL查询和entity framework核心

我将我的应用程序迁移到ASP.NET MVC Core和Entity Framework Core,我发现了问题。 我有像这样的实体的原始SQL查询 var rawSQL = dbContext.Database.SqlQuery(“Raw SQL Query”).ToList(); 但是context.Database没有SqlQuery 。 你有这个问题的解决方案吗?

如何在ASP.Net MVC 6中编辑和继续

在使用旧版本的Visual Studio和ASP.NET的日子里,可以在调试时编辑代码(即使有一些限制)。 如何在VS 2015 RC中启用编辑并继续使用ASP.Net/VNext(MVC 6)。 这个function可用吗? 我收到的消息是: “如果在调试开始时没有构建项目,则不允许进行更改”。 如何在调试模式启动时构建项目?

entity framework7 RC 1和ASP.NET MVC 6中的种子初始数据

似乎在Entity Framework 7中还没有对种子数据的原生支持( https://github.com/aspnet/EntityFramework/issues/629 )。 Microsoft提供的模板代码中没有DbMigrationsConfiguration类,也没有Seed方法。 那么如何在使用Entity Framework 7 RC 1的ASP.NET MVC 6 Web应用程序中播种数据呢?

从ASP.NET 5 Beta 4升级到Beta 5时出错

我已按照此处的步骤从ASP.NET 5 Beta 4升级到Beta 5,但在调用application.UseBrowserLink();时在运行时出错application.UseBrowserLink(); : mscorlib.dll中出现“System.TypeLoadException”类型的exception,但未在用户代码中处理 附加信息:无法从程序集“Microsoft.AspNet.Http,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null”加载“Microsoft.AspNet.Builder.IApplicationBuilder”类型。 这些是我遵循的步骤: 已经安装了VS 2015 RC。 从PowerShell运行: $env:DNX_FEED=”https://www.nuget.org/api/v2″ 从PowerShell运行: dnvm upgrade 添加了一个Global.json文件(我还没有)。 当我添加它时,它已经提到了Beta 5: { “projects”: [ “Source”, “Tests” ], “sdk”: { “version”: “1.0.0-beta5-12103” } } 将project.json中的所有软件包更新为Beta 5.您可以在此处查看我的project.lock.json文件的完整版本。 { “dependencies”: { “Boilerplate.Web.Mvc6”: “1.0.2”, “Microsoft.AspNet.Diagnostics”: “1.0.0-beta5”, “Microsoft.AspNet.Mvc”: “6.0.0-beta5”, “Microsoft.AspNet.Mvc.TagHelpers”: “6.0.0-beta5”, “Microsoft.AspNet.Mvc.Xml”: “6.0.0-beta5”, “Microsoft.AspNet.Server.IIS”: “1.0.0-beta5”, […]

ASP.NET 5中Global.json中项目部分的说明

我注意到在创建一个新的ASP.NET 5项目时,有一个对我来说完全有意义的src目录,因为我总是将所有解决方案的代码放在一个名为source的目录中。 我注意到有一个名为global.json的文件,默认情况下包含以下内容: { “projects”: [ “src”, “test” ], “sdk”: { “version”: “1.0.0-rc1-update1” } } 我在ASP.NET 5文档中找到了以下内容: projects属性指定哪些文件夹包含解决方案的源代码。 默认情况下,项目结构将源文件放在src文件夹中,允许将构建工件放在兄弟文件夹中,从而更容易从源代码控制中排除这些内容。 但是,这里是我想到的项目结构(它基本上是我想在同一解决方案下的两个大项目): MySolution MySolutionProject1Src client p1.WebAPI business p1.Business p1.Model data p1.Repository test p1.BusinessTests p1.WebAPITests MySolutionProject2Src client p2.Web business p2.Business p2.Model data p2.Repository test p2.BusinessTests 那么我会将global.json更新为以下内容吗? (每个父目录一个): { “projects”: [ “MySolutionProject1Src”, “MySolutionProject2Src” ], “sdk”: { “version”: “1.0.0-rc1-update1” } […]

ASP.Net Core MVC – 自定义属性的客户端validation

在以前版本的MVC框架中,将通过实现IClientValidatable和GetClientValidationRules方法来实现自定义validation。 但是在ASP.Net Core MVC中我们没有这个接口 ,尽管我们确实有IClientModelValidator ,它定义了一个非常相似的方法。 然而,其实现永远不会被调用。 那么 – 我们如何在ASP.NET Core MVC中为自定义属性实现客户端validation?

ASP.NET MVC 6中MVC Controller和Web API Controller有什么区别?

在ASP.NET 5 MVC 6中,Microsoft将普通的MVC控制器类( Controller )与Web Api控制器类( ApiController ) ApiController 。 现在只有一个inheritance的Controller类,其中也包含了WebApi的function。 所以现在区分MVC和WebApi控制器并不是那么简单。 两者都inheritance自Controller类。 我能看到的唯一区别是WebApi的路由信息​​仍然由属性HttpGet , HttpPost , HttpPut和HttpDelete 。 但现在可以使用属性路由对MVC控制器执行相同操作,只需使用不同的属性。 甚至这些function似乎已合并。 MVC控制器现在也支持内容协商。 具体问题是: 是否仍然存在真正的差异,还是只是指定路线的方式? 现在哪种方式是创建网络应用程序的首选方式? (差不多)空的MVC控制器: public class HomeController : Controller { public List Index() { return new List() { new Person() {Firstname = “test1”, Lastname = “test2”}, new Person() {Firstname = “test3”, Lastname […]

ASP.NET MVC 6:在单独的程序集中查看组件

我想在MVC 6 Web启动项目的单独程序集中定义视图组件(ASP.NET MVC 6中的新组件),以便我可以在多个Web项目中重用它们。 示例解决方案可能如下所示: BookStore.Components (容纳常见视图组件) BookStore.Web1 (引用BookStore.Components) BookStore.Web2 (引用BookStore.Components) 我创建了一个新的类库(Package)并在其中创建了一个视图组件。 我还在嵌套文件夹约定之后创建了视图。 我的BookStore.Components项目如下所示: 当我尝试从我的Web项目中调用此视图组件时: @Component.Invoke(“BookOfTheMonth”) …我的内容正文出现了500错误。 似乎发现了ViewComponent类,但组件的剃刀视图却没有。 我还尝试扩展DefaultViewComponentDescriptorProvider以便可以发现BookStore.Components程序BookStore.Components视图组件: 定义了AssemblyProvider public class AssemblyProvider : IAssemblyProvider { public IEnumerable CandidateAssemblies { get { yield return typeof(AssemblyProvider).Assembly; yield return typeof(BookStore.Components.BookOfTheMonthViewComponent).Assembly; } } } 使用Autofac注册的AssemblyProvider builder.RegisterType() .AsImplementedInterfaces(); builder.RegisterType() .AsImplementedInterfaces(); 我不确定是否需要注册上面的DefaultViewComponentDescriptorProvider ,所以我尝试使用和不使用它,但我仍然在调用视图组件的页面上得到500错误。 如何从MVC6 Web项目中调用位于单独程序集中的视图组件?

ASP.Net-Core中的自定义身份validation

我正在开发一个需要与现有用户数据库集成的Web应用程序。 我仍然想使用[Authorize]属性,但我不想使用Identity框架。 如果我确实想使用Identity框架,我会在startup.cs文件中添加这样的内容: services.AddIdentity(options => { options.Password.RequireNonLetterOrDigit = false; }).AddEntityFrameworkStores() .AddDefaultTokenProviders(); 我假设我必须在那里添加其他东西,然后创建某种实现特定接口的类? 有人能指出我正确的方向吗? 我正在使用asp.net 5的RC1。

在ASP.NET Core中到达控制器之前拦截错误请求

如果收到的请求是BadRequest,我有一个逻辑申请,为此我创建了一个filter: public class ValidateModelAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext context) { if (!context.ModelState.IsValid) { // Apply logic } } } 在初创公司: public void ConfigureServices(IServiceCollection services) { services.AddMvc(options => { options.Filters.Add(); }); } 控制器: [Route(“api/[controller]”)] [ApiController] public class VerifyController : ControllerBase { [Route(“test”)] [HttpPost] [ValidateModel] public ActionResult validationTest(PersonalInfo personalInfo) { return null; } } […]