AspNetCore EF 对象名XXX无效


前段时间改用core框架,粗略看了下,因为用了成熟的框架,所以工作上是直接上手写代码,.net core一知半解。

今儿突然兴起开始看看微软文档啥的,刚看的入门,看着例子简单本来觉得上手一遍直接带过,结果被狠狠打脸。。。

一个简单入门例子地址  

结果一边下来F5,直接捕获了个异常:

 

 

 

 

 感觉很奇怪,按照教程说法不应该是对象不存在直接创建吗,百度了吧说是字符串配置错误啥的。

因为我连接字符串指向的是本地的一个库,调用 context.Database.EnsureCreated()时返回的时false,这其实是找到数据库了。

但是调用到context.Students.Any()就嗝屁了

看看数据库,也没啥啊

 

 就一个Test库里有一张Test表,当时随便起了个名字

于是我该链接字符串,改个没有的库F5,成功了。。。然后我就怀疑是不是库名和表名捣的鬼。

我删了Test表,字符串还是改成Test数据库 F5 顺利通过。。。。艹

折腾半天原来是表名和数据库名字一样(如下更正原因↓↓↓↓)出的错,跑完后,表成功创建,于是我又把Test表建起来了,F5 跑到context.Students.Any()时却是没有报错,返回了true。

更正上述错误:context.Database.EnsureCreated() 创建表的时候试了下会有如下情况:

  • 有库没有表  返回:true    创建新表
  • 有库有表      返回:false  未做任何操作
  • 无库             返回:true    创建新库新表

由于有库有表(非Student表)  并未做任何事情,所以Student表并未找到 所以执行到 context.Students.Any() 时报错

所以啊,还是要严谨!慎重!


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM