采用code first fluent api方式做的数据库映射,OnModelCreating使用反射绑定的映射,然后每次在做第一次查询的时候就会出现一堆系统异常:
引发的异常:“System.Data.SqlClient.SqlException”(位于 System.Data.dll 中)
引发的异常:“System.Data.SqlClient.SqlException”(位于 System.Data.dll 中)
引发的异常:“System.Data.SqlClient.SqlException”(位于 System.Data.dll 中)
引发的异常:“System.Data.SqlClient.SqlException”(位于 System.Data.dll 中)
引发的异常:“System.Data.Entity.Core.EntityCommandExecutionException”(位于 EntityFramework.dll 中)
引发的异常:“System.Data.Entity.Core.EntityCommandExecutionException”(位于 EntityFramework.dll 中)
引发的异常:“System.Data.Entity.Core.EntityCommandExecutionException”(位于 EntityFramework.dll 中)
引发的异常:“System.Data.Entity.Core.EntityCommandExecutionException”(位于 EntityFramework.SqlServer.dll 中)
但是最终的查询会正常执行,也有返回结果。
只有第一次的时候会这样,后面就不会了,有没有人知道是为什么啊?
引发的异常:“System.Data.SqlClient.SqlException”(位于 System.Data.dll 中)
之后还有详细的错误信息吧
这对信息是在调试窗口输出的,没有详细信息,异常也抓不到
dudu,请教你一个问题。那个异常信息我抓到了,如图所示:
可是我并没有通过codefirst方式迁移生成数据库啊,怎么会和迁移历史这个表有关?
我们是先由DBA做的数据库,然后程序通过fluent api做的映射关系,项目中没有启动过模型迁移。
我突然想起来再第一次测试完fluent api后在数据库出现了一个MigrationHistory表,当时觉得没有做迁移操作就把它删掉了,难道这个表是必须要的?
实体修改了?
没有
你看看InnerException不就得了
这对信息是在调试窗口输出的,没有详细信息,异常也抓不到
@balahoho: 对的啊,那能看到就能看到详情。内部异常微软给你考虑了的
@花飘水流兮: 抓到异常信息了,你看一下楼上我给dudu的回复