Joe*_*nos 6 entity-framework app-config visual-studio
我遇到一个问题,实体框架edmx文件显然正在失去与它构建的连接字符串的关系.
我的.edmx文件的设计者工作得很好 - 我可以做"从数据库更新",它总是跳转到向导步骤,这将允许我添加表,过程等.现在当我点击"从数据库更新"时,我得到了"选择你的数据连接"向导步骤,它希望我选择一个新数据库 - 如果我完成这些步骤,它将为我创建一个新的连接字符串,并重新生成所有对象,就像我从刮.
我的app.config文件的内容是之前的问题,正是因为他们,但我没有修改该文件,然后将其恢复它的方式.我在想某种方式修改这个文件触发了导致我失去绑定的东西,但我无法弄清楚那是什么.
配置文件中的连接字符串键与EDMX文件中的CdmEntityContainer属性匹配.
我甚至试图杀死我的代码库并从源代码控制中重新检出,但这似乎不起作用.在同一个代码库上工作的其他人也遇到了同样的问题,所以在项目的某个地方似乎肯定存在一些问题.但是.csproj或.sln文件没有相关的更改 - 只是我看不到可能造成这种情况的任何地方.
有任何想法吗?我现在看到的唯一解决方案是从头开始删除并重新创建edmx文件,但我绝对希望找到更好的东西.
编辑:如果我在项目中生成一个全新的edmx,与任何现有的edmx无关,它似乎可以解决其余问题.它必须"重置"项目中的任何时髦.但这不是一个合法的解决方案,所以我仍然希望有更好的东西.
小智 5
我刚刚遇到了这个问题,并且在我的连接字符串中我丢失了
数据源中的应用程序名称=EntityFramework
如果您恰好在环境(例如开发、生产)之间切换时出现此问题,并且您在这些环境中运行不同的 SQL Server 版本(例如 2005、2008),则可能会遇到一些问题。数据库版本号存储在 .edmx 文件中的某个位置。
如果是这样,请告诉我,我可以挖掘具体细节并做出回应。如果不是,我不知道它会是什么。
祝你好运!
编辑: 我意识到这可能与实际问题无关,但我想提供我提到的具体细节,以防其他人遇到这个问题。ProviderManifestToken
元素中的属性(Schema
.edmx 内)包含数据库版本号。请注意,它实际上使用年份(例如 2005、2008)而不是真正的数据库版本号。如果您在一个版本上创建模型并将其移动到另一版本,则需要手动编辑文件以更改此值。
<edmx:Edmx Version="2.0" xmlns:edmx="http://schemas.microsoft.com/ado/2008/10/edmx">
<!-- EF Runtime content -->
<edmx:Runtime>
<!-- SSDL content -->
<edmx:StorageModels>
<Schema Namespace="..." Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" xmlns:store="http://schemas.microsoft.com/ado/2007/12/edm/EntityStoreSchemaGenerator" xmlns="http://schemas.microsoft.com/ado/2009/02/edm/ssdl">
...
</Schema>
</edmx:StorageModels>
</edmx:Runtime>
</edmx:Edmx>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4415 次 |
最近记录: |