EntityFramework 4.1 Edm元数据模型哈希
Posted
技术标签:
【中文标题】EntityFramework 4.1 Edm元数据模型哈希【英文标题】:EntityFramework 4.1 EdmMetadata ModelHash 【发布时间】:2011-05-17 23:20:18 【问题描述】:我正在尝试将 EF 4.1 Code-First 应用程序从 Dev 部署到 Test,而不会让 EF “吹走”整个数据库。
我将数据库从 Dev 复制到 Test,重建应用程序并部署代码。因为 EF 仍然认为它需要重建数据库或者数据模型不同。当应用程序部署到不同的服务器时,如何预测应用程序希望查看哪个 ModelHash?
据我所知,两个构建之间的唯一区别是我用来构建它们的配置(一个是测试,另一个是开发)。
【问题讨论】:
【参考方案1】:如果您希望其他人使用您的数据库并且现在每次都必须重新创建它。
我设置我的 DB Initializer = CreateDatabaseIfNotExists
然后从数据库中删除“EdmMetadata”表。
我不确定这是否是“正确”的做法。但它对我有用。
【讨论】:
【参考方案2】:System.Data.Entity.Infrastructure.EdmMetadata.TryGetModelHash(DbContext)
将返回模型的哈希字符串。 这就是 EF 希望在 EdmMetadata 表的 ModelHash 列中看到的内容。
【讨论】:
以上是关于EntityFramework 4.1 Edm元数据模型哈希的主要内容,如果未能解决你的问题,请参考以下文章
EntityFramework 4.1 DbContext 选择添加带有附加字符的 CAST 列
如何开始使用 EntityFramework 4.1(或当前的 4.3)
找不到 EntityType 错误的 EF 映射和元数据信息
如何使用 EntityFramework 4.1 CodeFirst 防止十进制值在保存时被截断为 2 位? [复制]