【问题标题】:Updating Entity Framework model throws DirectoryNotFoundException?更新实体框架模型会引发 DirectoryNotFoundException?
【发布时间】:2023-11-06 19:01:01
【问题描述】:

我们可以从 DB 进行初始导入到新的 EDMX,但任何后续的更新/添加/其他操作都会引发此异常:

发生“System.IO.DirectoryNotFoundException”类型的异常 尝试从数据库更新时。异常消息 是:'找不到路径的一部分 'c:\temp\user1.edmx\tmp622D.edmx'。'

我无法在任何其他环境中重新创建它,但建筑物中的每台机器都遇到同样的问题?一起销毁 .edmx 并进行新的导入工作,但其他所有内容都会抛出和有关此临时文件的异常...

到目前为止,我已经证明我可以在 temp 文件夹中创建/编辑文件,并且我已经尝试以管理员身份运行 VS....

【问题讨论】:

    标签: c# entity-framework entity-framework-4 entity-framework-4.1


    【解决方案1】:

    'c:\temp\user1.edmx\tmp622D.edmx'.'

    为什么你的路径多了一个'。

    【讨论】:

    • 我不相信这是一个“权限”问题。新项目,新模型,来自 db,添加 2 个表,全部保存.... 一切都很好。右击edmx设计器->从数据库更新模型,点击完成,报错。
    • 您在网络配置中的连接字符串是什么? (记得删除密码)
    • 砰!仍然不是 100% 确定这会破坏幕后发生的事情,但我已经确认 GPO 正在更改“用户环境变量”,当我手动将它们设置回 '%USERPROFILE%\AppData\Local\Temp' EF4 工作正常,当我让 GPO 应用自定义临时目录时,一切都崩溃了……戏剧仍在继续,但它不再是一个痛苦的谜团!关于为什么像 'c:\temp\user1.tmp' 这样的自定义路径会打破 EF 或我们能做些什么?
    • 我正在复制“错误消息”,不确定,在现实生活中环境变量中的 TEMP 文件夹和 TMP 文件夹似乎有效,没有额外的 '.'或其他。当我在窗口中钻取以考虑/编辑它时,它具体读为 c:\temp\userA.tmp。