VS2017添加EF的MVC控制器报错的解决方法

VS2017添加EF的MVC控制器报错的解决方法,供大家参考,具体内容如下

1. 错误描述:no database provider has been configured fot this DbContext.

此类错误是上下文的注册造成的.解决方式在DBContext中重写OnConfiguring方法去注入数据库连接.

DbContext中:

public static string ConnectionString { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
 optionsBuilder.UseSqlServer(ConnectionString);
 base.OnConfiguring(optionsBuilder);
}

在Startup.cs中

 public void ConfigureServices(IServiceCollection services)
 {
  // Add framework services.
  var sqlserverConnection = Configuration.GetConnectionString("SQLServerConnection");
  DbContext.ConnectionString = sqlserverConnection;//将配置连接传入DbContext中
  services.AddDbContext<DbContext>(options => options.UseSqlServer(sqlserverConnection));
        
  services.AddMvc();
}

2.错误描述:Could not add Model type XXX to DbContext

错误描述没有注册DbSet属性.但实际上是有 public DbSet<XXX> XXX{ get; set; }注册的.将DbSet<XXX>中的类改成<命名空间+类名>这种完整声明即可解决

更多精彩内容大家可以点击《Visual Studio 2017开发使用教程》,关于visual studio的安装教程可以点击《Visual Studio安装使用手册》进行学习,希望大家喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-04-15

Visual Studio 2017中找回消失的“在浏览器中查看”命令

不知为何,在新安装 Visual Studio 2017 后,发现所有 Web 项目上右键菜单的"在浏览器中查看"命令消失了,只能以调试模式启动网站,非常别扭. 最后在 Stackoverflow 上找到了遇到同样问题的解决方法:通过自定义菜单将此命令添加回来. 1.在工具栏上右键,选择"自定义": 2.在弹出的窗口中,选择"命令"标签.然后选择"上下文菜单",在其右侧下拉列表中找到"项目和解决方案上下文菜单 | 项

Visual Studio 2017创建.net standard类库编译出错原因及解决方法

正式版上个月已经Release了,从那时到现在经常会收到更新提示,估计问题还不少吧!其中最吸引我的当然是.net standard与.net core. 刚好最近接触.net standard项目,新建一个类库直接编译却出错!!立马心情不太好了,对它的兴趣大打折扣! 如果是新手估计立马就会吐槽了!作为老手还是静下心来看看原因. 看最后一项: 找不到资产文件"c:\users\newblifes\documents\visual studio 2017\Projects\TestDemo\Test

Visual Studio 2017下ASP.NET CORE的TagHelper智能提示解决办法

之前在VS2017RC中就发现该问题,安装了依赖,但是前段一直点不出来asp-for,后来查了发行说明, 才知道在VS2017rc中暂时无法解决,所以一直等到VS2017正式版的发布,急冲冲的装好, 建了一个demo项目,还是无法出现TagHelper的智能提示. 不死心,我又去扒拉了一下VS2017的发行说明,找了一下已知问题: 发现有这一行: 然后我根据提示,进入到Github页面,果然找到了TagHelper为何不能使用的描述: 同样,页面给出来了解决办法,安装一个Razor服务的扩展:

Visual Studio 2017无法加载Visual Studio 2015创建的SharePoint解决方法

前几天安装了最新的Visual Studio 2017企业版,发现无法打开之前使用Visual Studio 2015创建的SharePoint 2016解决方案,提示"需要更新". 解决方法如下: 右键-编辑.csproj,把MinimumOfficeToolsVersion的值从14.5修改为14.0,重新加载项目就可以了. 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们.

Bootstrap Table表格一直加载(load)不了数据的快速解决方法

bootstrap-table是一个基于Bootstrap风格的强大的表格插件神器,官网:http://bootstrap-table.wenzhixin.net.cn/zh-cn/ 这里列出遇到的一个小问题:Bootstrap Table表格一直加载不了数据. $("#button").click(function(){ var name=$("input[name='name']").val(); $('#table').bootstrapTable('load

layui: layer.open加载窗体时出现遮罩层的解决方法

如下所示: 把窗体方法独立出来放在layer.use([],function(){});外面,需要的时候从layer.use方法里面调用,就不会出现遮罩层 layer.use([],function(){ $("#添加按钮id").click(function(){ editData("",form,"添加") ; }) ; }); function editData(data,from,title){ var win = layer.open(

判断jQuery是否加载完成,没完成继续判断的解决方法

一个比较头疼的事情,有些插件绑定dom对象的,然后又用jq的语法,比如你在vue+node的时候,基本就要百度方法 我提供一个另类解决方案  比如你下了个轮播图插件   a.js 你打开他的a.js然后  用  function lbt(){} 把整个JS包起来在头部 再加上我这段,基本  是可以用了. isjQueryLoadend(); function isjQueryLoadend(){//判断JQ是否加载完成没有的话 继续判断 if (typeof $ != 'undefined' &

一个applicationContext 加载错误导致的阻塞问题及解决方法

问题为对接一个sso的验证模块,正确的对接姿势为,接入一个 filter, 然后接入一个 SsoListener . 然而在接入之后,却导致了应用无法正常启动,或者说看起来很奇怪,来看下都遇到什么样的问题,以及是如何处理的? 还是 web.xml, 原本是这样的: (很简洁!) <?xml version="1.0" encoding="UTF-8" ?> <web-app xmlns="http://java.sun.com/xml/n

php ci框架中加载css和js文件失败的解决方法

在将html页面整合到ci框架里面的时候,加载css和js失败,弄了半天发现ci框架是入口的框架,对框架中文件的所有请求都需要经过index.php处理完成,当加载外部的css和js文件的时候要使用base_url()函数处理外部的链接. 比如: 在config配置文件中的base_url为:" localhost:8080/项目名称/ " 在控制器中访问application/resource/aaa.js文件 相对路径<script src= "resource/a

解决android studio 3.0 加载项目过慢问题--maven仓库选择

今天用android studio 3.0打开项目时发现一直在谷歌的maven仓库加载 卡到这不动了,看了下maven仓库的配置发现: buildscript { repositories { jcenter() maven { url 'https://maven.google.com' name 'Google' } google() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0' // NOTE: Do n

c# 动态加载dll文件,并实现调用其中的方法(推荐)

以下是测试代码: 新建一个classlibrary,包含两个类class1和class2,这两个类中分别有一个方法,都是返回一个字符串,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace mydll { public class Class1 { public Class1() { } public string sayhello() { ret

Ajax加载外部页面弹出层效果实现方法

本文实例讲述了Ajax加载外部页面弹出层效果实现方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">

使用jQuery加载html页面到指定的div实现方法

一.jQuery加载一个html页面到指定的div里 把a.html里面的某一部份的内容加载到b.html的一个div里. 比如:加载a.html里面的<div id="row"></div>这个div里面的所有内容加载到b.html的这个div里<div id="content"></div> 用jquery ajax 可以实现 假设 a.html 和b.html在同一目录 b.html <script >