先前的EF项目跑的一切正常,突然需求有变动,数据库增加了表,需要更新Model1.edmx。在设计界面中选择“从数据库更新模型”,
Model1.tt里面实体类加进来了,Model1.Content.cs代码也自动加进来了:
public virtual DbSet<system_log> system_log { get; set; }。
从头到尾检查了好几遍,跟其他正常的实体类没什么差别,可就是一直报错:严重性代码说明项目 文件 行 禁止显示状态错误 错误 3027: 没有为以下 EntitySet/AssociationSet 指定映射
反复操作了很多遍,还是报这个错,一时无语了。不知哪里出了问题。索性考虑不通过此种方法来加实体操作了。通过手动添加代码的方式来解决。
首先搜索一个之前正常加成功了的实体名称,搜索之后发现在如下地方引用到:
然后按照这些位置一步的手动加代码,加好之后重新生成,发现Model1.tt里面仍然没有包含要加入进来的实体类,这时候需要在.csproj加入进来,这是关键性的一步:
加好之后点击保存,重新生成代码,就不报错了。