ef4读取数据错误的问题,很简单的功能,却莫名其妙的错误

问题描述

我用ef4做数据操作,将A表的值复制到B表去操作很简单vara=db.A.FirstOrDefault();Bb=newB();b.发货地址=a.发货地址;b.时间=a.时间;b.到站地址=a.到站地址;...B.Add(b)db.SaveChanges();按理这个流程非常简单,没任何复杂逻辑。可奇怪的是“b.到站地址”偶尔会出现“a.物流公司”的值这个错误会出现在哪里?逻辑和代码都非常简单,但偏偏会出现这么莫名其妙的问题

解决方案

解决方案二:
你可以写断言,例如Debug.Assert(B.到站地址!="汽运");

然后开始重新测试。如果测试通过,而数据库内容有错,那么就应该向“后端”增加断言,而不是纠结于前端。。
解决方案三:
这种间歇性的bug最麻烦,是不是a就错了?
解决方案四:
引用1楼sp1234的回复:

你可以写断言,例如Debug.Assert(B.到站地址!="汽运");

然后开始重新测试。如果测试通过,而数据库内容有错,那么就应该向“后端”增加断言,而不是纠结于前端。。

我用了类似的测试代码,多次操作,都没有任何错误,发布后,也是非常偶尔出现我记录了一下发生错误时捕获的数据,也仅仅就这么一个赋值错误,是在获取A的时候就发生错误了,也就是说a.到站地址=a.物流公司其他字段都没错误,郁闷呀!这就是一个简单的FirstOrDefault。数据库里是没问题的,难道是ef4的bug?
解决方案五:
程序跑起来如果没有不可知的分支,那么逻辑和结果必然是一致的。我看你还是查一下数据库,应该是某个特定的数据错了。
解决方案六:
数据库问题吧

时间: 2024-08-01 13:10:46

ef4读取数据错误的问题,很简单的功能,却莫名其妙的错误的相关文章

读取数据时 网络延迟很高

问题描述 .net写的一个C/S业务程序,在查询数据时(就几千条数据),如果在查询结果出来之前通过ping命令ping数据服务器,延迟很高大概有800ms,查询结束后延迟就4ms,这是为什么呢?还有一种情况跟上面的类似,程序访问webservices,webservices专门放到了一个服务器上,由这个服务器访问数据库,调用webservices在查询结果出来之前,ping放webservices的服务器延迟也很高少则200ms多则1000多ms,使用这个C/S程序的人多了以后,这个现象非常非常

C#读取CLOB的问题,很简单,进来看看

问题描述 C#中如何用DATESET()方法读取一条SQl语句中带有CLOB类型的数据?或者用别的方法也行,最后再将结果存到DATETABLE()的变量中,求解决.好的加分. 解决方案 解决方案二:你用sql语句,用DataAdapter的Fill填充到dataset就行了啊解决方案三:给个具体方法呗引用1楼chinajiyong的回复: 你用sql语句,用DataAdapter的Fill填充到dataset就行了啊 解决方案四:引用2楼yao1075的回复: 给个具体方法呗引用1楼chinaj

Sql数据库主键问题,很简单的.

问题描述 [img=http://sz.photo.store.qq.com/rurl2=607f258612c49525eae8b06fb69e9dbd45f276b4f7c1fcf5fb2345c28d159d5c2fd7f3481ff778949756ff8edf5fd2082f18df00203f8728277927299f35345d0344a43319b6a45c60f0d9651b2a52b027a88adc][/img]请问这个表"PlateNo"列,"Gro

pop mail 类 很简单的功能(自家用)

<?php class popMail{ var $user='sanshi0815@tom.com'; var $pwd='1234'; var $popFp; var $msg; var $welcome  = '欢迎使用叁石pop 接收邮件!'; function popMail($popHost='pop.tom.com',$popPort=110) {  $this->msg = array();  $this->msg[] = $this->welcome;  if (

POPMail类很简单的功能

<?php class popMail { var $user='123@tom.com'; var $pwd='1234'; var $popFp; var $msg; var $welcome = '欢迎使用PHP接收邮件!'; function popMail($popHost='pop.tom.com',$popPort=110) { $this->msg = array(); $this->msg[] = $this->welcome; if ( $this->op

ffmpeg 从内存中读取数据(或将数据输出到内存)

更新记录(2014.7.24): 1.为了使本文更通俗易懂,更新了部分内容,将例子改为从内存中打开. 2.增加了将数据输出到内存的方法.   从内存中读取数据 ffmpeg一般情况下支持打开一个本地文件,例如"C:\test.avi" 或者是一个流媒体协议的URL,例如"rtmp://222.31.64.208/vod/test.flv" 其打开文件的函数是avformat_open_input(),直接将文件路径或者流媒体URL的字符串传递给该函数就可以了. 但其

android-小白请教高手问题,今天看了持久化技术的关于一个从文件中读取数据的问题

问题描述 小白请教高手问题,今天看了持久化技术的关于一个从文件中读取数据的问题 想要完成一个功能,向EditText里输入数据,数据存放在一个文件夹后,然后按下back键,再重新启动这个程序,再从这个文件里读取数据,出现的是这个数据已经填充在EditText里 下面是代码 MainActivity import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import

串口通信 读取报错-自编程序从串口读取数据,会出现串口错误,超级终端能读取成功

问题描述 自编程序从串口读取数据,会出现串口错误,超级终端能读取成功 我一个程序从COM1口读取数据,出现串口错误,我用电脑自带超级终端读取的话是可以成功读取我另一边发送的数据的,也稳定,然后我再启动我的程序进行读取,这时候也能成功读取,当我再重新启动程序的时候却又报错了,求大神解答 解决方案 我用PCI外接的串口就没有这种问题,之前一直就是用的COM1,也是好的,用了几个月忽然出现了这种问题

r语言-(错误在哪里)R语言如何从文件中读取数据

问题描述 (错误在哪里)R语言如何从文件中读取数据 file.choose() [1] "C:UsersHPDesktop新建文件夹data.txt" data1<-read.table("data.txt",header=T) 错误于make.names(col.names, unique = TRUE) : ''多字节字符串有错 data1<-read.table("data.txt",header=T,quote = FALSE