2016-10-04 126 views
0

嘿,我有一个实体框架的问题,并想知道有其他人遇到过这个问题。我已经编辑了我的存储过程,现在包含course.code列并且也由它组成。然而,现在的问题是,当我尝试从数据库更新模型时,我仍然没有得到确认。当我查看代码时,这个新值仍然没有get/set方法。我在思考实体框架时是否应该为我自动生成这段代码?实体框架不正确刷新

反正我已经尝试使用这两个.tt文件上的自定义工具,没有运气。我曾尝试从数据库更新模型。我曾尝试删除相关的resultset.cs,最后我尝试删除实体框架文件夹并从svn中恢复,但仍然没有运气。如果有人遇到了类似的问题,并想出来,我会永远在你的debier。我试图将这个新的可用字段添加到telerick报告中,到目前为止我没有运气。我已经包含了我已经修改过的存储过程的一部分。非常感谢。

SELECT s.number as studentNumber, 
     s.last_name as studentLastName, 
     s.first_name as studentFirstName, 
     replace(h.name,'/',char(160) + '/' + char(160)) as homeroomName, 
     c.name as courseName, 
     **c.Code as courseCode,** 
     ISNULL(o.priceaspurchased, i.price) as Total, 
+0

如果您要先做数据库,则需要更新基础表。如果你先做代码,你需要更新类。 EF未使用存储过程来构建其模型。 –

+0

@SteveGreene我更新了存储过程,所以数据库第一。底层表是否应该通过从Model更新数据库来完成?根据文档 https://msdn.microsoft.com/en-us/library/cc716705(v=vs.100).aspx – Seamy

+0

您是否已将“代码”列添加到课程表中?我不相信EF会在存储过程中出去改变你。 –

回答

0

好的我知道了.......花了几个小时搜索互联网后,我发现它。您必须进入.edmx文件 - 右键单击​​ - 模型浏览器 - 展开scsmodel,然后选择功能导入 - 找到您的存储过程名称 - 双击它 - 然后单击获取列信息 - 确认您的新列出现在出现的网格中 - 点击更新和嘿presto! :)