Linq to Entity问题
各位好,诚心求救问题。
最近在做一个公司内部的小项目,用的是linq to entity 技术,开始学习没有几天,今天开始整完了数据库之后,就开始生成实体了。
可是在我生成了之后,我发现有一个字段的数据类型写错了,然后我就在**.edmx里面的表里把原先的类型string,改成int32类型的,我在我的数据库表也把这个把改成了int32类型的,可是当我重新生成解决方案的时候,报了下面的错误:
错误 1 错误 2019: 指定的成员映射无效。类型“TEModel.FilterConfiguration”中的成员“TempID”的类型“Edm.Int32[Nullable=False,DefaultValue=]”与类型“TEModel.Store.FilterConfigurations”中的成员“TempID”的“SqlServerCe.nvarchar[Nullable=False,DefaultValue=,MaxLength=4000,Unicode=True,FixedLength=False]”不兼容。 D:\MyProject\TE\TEHelperTool\Main\TE\TE.DataAccess\TEModel.edmx 374 11 TE.DataAccess然后就死活都运行部出来。
英文的意思是说:
Member Mapping specified is not valid声明一下,我不想把这些全部删除,然后重新生成一次,我只是想知道这个怎么改,我想应该有方法,可是我怎么都木有想到,整了一个下午了。
谢谢各位了。
------解决方案--------------------TEModel.FilterConfiguration”中的成员“TempID”
与类型“TEModel.Store.FilterConfigurations”中的成员“TempID”
很明显。。 你改了一个 没改第二个。
全部删除 重新生成比较快 你追着成员就能找到
------解决方案--------------------重新映射DEMX文件
或右键EDMX UPDATE一下
------解决方案--------------------对数据库表修改后
然后在对应的表实体模型删除后重新映射
OK
------解决方案--------------------
------解决方案--------------------清空缓存,清空项目编译文件,全部重新生成一下。
有时这个就可以了。
------解决方案--------------------edmx对应的xml文件没改吧,点击edmx文件->右键->选择xml Editor,然后找到对应的字修改;,最好最快的办法是重新生成,因为对于一个新的项目来说需求肯定是在变的,你不可能第一次就完全的弄清楚客户的需求,如果你每次都这样去改,不但维护起来麻烦,而且还容易出错,所以建议你重新生成