project.Models.tableName:Fieldpvidmustbestringorarraytype,witha最大长度为“20”当我尝试在数据库中添加新条目时出现以下异常错误:db.patient_visit.Add(pv);db.SaveChanges();project.dll中出现“System.InvalidOperationException”类型的异常,但在用户代码中没有处理附加信息:project.Models.tableName:字段pvid必须为字符串或数组类型,最大长度为“20”.在此之前,我的模型自动设置如下,因为我对现有数据库进行了代码优先迁移。[Key][StringLength(20)]publicstringpvid{get;放;从逻辑上讲,它看起来已经在范围内了。但是为了尝试一下,我尝试将其更改为下面的代码,并进行了添加迁移。然后,在Up()方法中,它是空的。这是否意味着修改不被识别?因为当我再次尝试运行该项目时,我得到了与上述相同的错误。[Key][MaxLength(20),MinLength(12)]publicstringpvid{get;放;然后,当我在查询中放置断点时,我看到:InnerException:nullMessage:DataReaderIncompatiblewiththespecified'project.Models.tableName'。“columnName”类型的成员在数据读取器中没有同名的对应列。我的查询有问题吗?ChargeVMobjDetails=newChargeVM();varquery3=db.Database.SqlQuery("SELECTMAX(CAST(SUBSTRING(pvid,3,10)ASint))FROMpatient_visit");如果(query3!=null){objDetails。pvid=query3.ToString();objDetails.pvid+=1;objDetails.pvid="PV"+objDetails.pvid;}patient_visitpv=newpatient_visit(){pvid=objDetails.pvid,paid=paid};.添加(光伏);我为db.SaveChanges()设置了一个trycatch来捕获任何异常,并且在“throwraise”行中,弹出了第一段中提到的异常错误。尝试{db.SaveChanges();}catch(System.Data.Entity.Validation.DbEntityValidationExceptiondbEx){Exceptionraise=dbEx;foreach(DbEntityValidationResultvalidationErrorsindbEx.EntityValidationErrors){foreach(DbValidationErrorvalidationErrorinvalidationErrors.=string.Format("{0}:{1}",validationErrors.Entry.Entity.ToString(),validationError.ErrorMessage);//引发一个新的异常嵌套//当前实例作为InnerExceptionraise=newInvalidOperationException(message,raise);}}throwraise;}我实际上只是切换到C#,我只是将我的代码从vb.net转换为C#。我想知道是不是语法问题什么的,以前在vb.net上用的很顺手,谁能指点一下,我是新手,以上是C#学习教程:project.Models.tableName:Thefieldpvidmustbeastring或array类型,最大长度为“20”,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注~本文收集自网络,不代表立场.如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
