Entity Framework 5的POCO未被包含在TFS中?

15

我正在处理一个项目,我们最近升级了 Entity Framework 5。 在升级后,我创建了一个新的 .edmx 模型,并将所有实体移动到了新模型中。

据我所知,Entity Framework 5 运行基于 POCO 对象。 我遇到的问题是,POCO 对象似乎不包含在源代码控制中。 如果一个新的开发人员打开解决方案,它就不包括任何生成的 POCO 对象。 为了解决这个问题,我们可以右键单击“MyModel.Context.tt”和“MyModel.tt”,然后单击“运行定制工具”来生成 POCO 对象。 那么有没有办法将 POCO 对象包含在 TFS 中,以便我们不必在新的开发人员打开解决方案时再次生成它们?

更新:

所以我尝试了一些人建议的方法,使用“添加到项目”,但是如果我打开 Visual Studio 的“显示所有文件”选项查看包含模型的文件夹,没有任何类显示出来。但是如果我用 Windows 资源管理器查看该文件夹,则显示所有文件,怎么回事?


1
你尝试过右键单击每个生成的类文件,然后选择“包含在项目中”吗?这样应该可以促使Team Explorer将它们包含进去。 - Quinton Bernhardt
您只需右键单击 .edmx 文件,然后选择“将文件添加到源代码控制”,即可将生成的文件添加进去。 - hanzolo
4个回答

40

关于Saml的答案,进一步操作如下:

对于Visual Studio 2012,添加您的POCO(Plain Old CLR Object)需要执行以下步骤:

  1. 使用View>Team Explorer打开“团队资源管理器”窗口
  2. 您将看到一个快捷方式列表... “我的工作”,“待处理的更改”等;
  3. 在“待处理的更改”下面有一个“源代码控制资源管理器”的链接
  4. 单击此链接,以打开“源代码控制资源管理器”窗口
  5. 浏览解决方案以找到包含edmx文件的项目
  6. 在“源位置”上方将出现一个工具栏
  7. 从最左边的第四个图标是“将项添加到文件夹中”
  8. 单击此图标将弹出“添加到源代码控制”对话框,显示此项目中当前未处于源代码控制下的所有文件。
  9. 选择要现在包括在源代码控制下的所有文件
  10. 点击“下一步”,然后点击“完成”

现在再次检入您的解决方案,您的POCO应该已经被包括进去了。


1
没问题!很高兴能帮到你! - PGallagher

4

首先打开团队资源管理器窗口:

  • 查看
  • 团队资源管理器

然后展开你的项目并双击“源代码控制”。

在源代码控制资源管理器窗口中,浏览到应该放置POCO文件的文件夹,右键单击资源管理器或目录,选择“添加项目到文件夹”(或类似的选项...自从我使用TFS以来已经过去了几个月)

最后选择自动生成的文件并将它们包含在内。别忘了提交!

需要注意的是,将自动生成的文件包含在TFS中可能会在未来出现问题,如果您尝试重新生成这些文件,可能会遇到只读访问权限问题。这可以通过手动检出文件以解锁它们来解决。一旦检出,就可以随心所欲地重新生成!


非常感谢您的帮助。不幸的是,这些文件在源代码浏览器中没有显示出来。请查看我的问题更新。 - NullReference
你确定你正在查看的是“源代码资源管理器”,而不是“解决方案资源管理器”吗?“显示所有文件”选项在“解决方案资源管理器”中,这不是我的答案所指的。我非常确定,如果你按照我上面的步骤操作,你将能够将它们添加到你的TFS项目中(与Visual Studio项目不同)。 - saml

4

这可能有点晚了,但我遇到了同样的问题。

我无法将缺少的文件添加到TFS中。不必尝试添加每个文件,您可以右键单击解决方案资源管理器中的EDMX文件,然后单击“运行自定义工具”,再次右键单击EDMX文件并单击添加到源代码控制。这将添加所有缺少的文件,然后您就可以将它们检入。


1
原来这是Visual Studio 2012中的一个bug,与模型位于子文件夹有关。升级到SP1后,问题消失了。

2
我正在运行Update 3,但问题仍未解决。我正在对数据库项目进行更改,然后将其导入到edmx中。我所更改的表格没有TFS图标,但其他所有内容都有。这个漏洞还没有被修复... - Riaan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接