.NET Core

.net Core 1.1 开发踩坑

2017-07-06  本文已影响10人  p了个f

环境介绍

开发环境

数据库模型

image.png

问题描述

当我使用封装的ProductService进行数据插入操作时候,总是失败。经过多次测试,始终是这样的问题。最后我更换电脑等等排除了环境问题后。我试着测试直接用EF上下文对象context进行添加操作成功了。从这点可以看出来,应该是我的仓储(BaseRepostory)写的有问题了。然后就一步步跟踪调试检查到底是哪里出现问题了。

调试模式下问题跟踪

image.png

跟踪Service,并查看对象是否赋值正确。经过多次检查一切正常。

image.png

跟踪BaseRepostory,检查数据及上下文跟踪对象赋值是否正确。经过多次检查一切正常。

image.png

再继续执行下去,报错了。根据报错的内容可以看出,是主键冲突了。但是我做Product的插入操作时,主键gid是数据库自动写入的,并没有给值啊。经常查询报错信息的主键gid信息,发现它是Categories的主键。那么是怎么回事啊?

image.png

使用自托管模式再次进行调试,在输出的信息中终于发现了原来是Categories表中执行了“insert”操作。那么就奇怪了,我并没有写它的Add操作啊。经过查询度娘后,发现一篇博文的介绍(http://www.cnblogs.com/CreateMyself/p/6238455.html)。

解决方案

image.png
上一篇下一篇

猜你喜欢

热点阅读