1

不确定 EDMGEN在这里验证什么

它根据实时数据库模式验证 ssdl 文件以寻找不一致)?

Ot 它只验证 ssdl、csdl 和 msl 文件之间的内部一致性?

如果没有人手动更改自动生成的 ssdl、csdl 和 msl 文件的内容,是否有任何理由验证它们?

此验证是否与在 Visual Studio 中将 ConceptualEntityModel 的“Validate On Build”属性设置为 true 时运行的验证相同?

有什么方法可以检查 ssdl 文件和实时数据库之间的一致性吗?(如新表、不同字段、外键等......)与 Redgate SQLCompare 在比较模式时提供的结果相似......

4

1 回答 1

2

Ot 它只验证 ssdl、csdl 和 msl 文件之间的内部一致性?

它仅验证 EDMX 文件 - 这意味着 SSDL、MSL 和 CSDL 之间的一致性。

此验证是否与在 Visual Studio 中将 ConceptualEntityModel 的“Validate On Build”属性设置为 true 时运行的验证相同?

是的

有什么方法可以检查 ssdl 文件和实时数据库之间的一致性吗?

这不是 EDMGEN 验证或实体框架的目的。如果你有 VS Premium 或 Ultimate 版,你可以使用它的数据库工具来比较两个数据库——这几乎等同于 RedGate 的 SQL 比较。我不确定是否有任何工具可以比较 SSDL 和真实数据库,但您通常只需要一组集成测试,这些测试将验证您的数据库是否仍然适用于您的模型。

于 2012-08-07T10:38:58.667 回答