0

我正在使用一个无法轻松创建实体模型的旧数据库,因为它使用具有有效复合键的扩展表,而 EF 仅支持将一个实体映射到多个表的单列键。

所以,我决定做的是INSTEAD OF在遗留表(无法触及)的顶部创建可更新的视图(使用触发器来处理 CRUD 操作),然后构建我的实体模型(使用 EF 或 DevExpress XPO)数据库视图的顶部。这也将允许我在单个查询中检索父记录列表时轻松地在 select 子句中添加子查询以检索父记录的子计数。

但是,我并不是特别想为所有视图和触发器手动编写 SQL,所以我想我会使用.EDMX文件中定义的数据模型和 t4 模板来帮助我生成创建所需的大量 T-SQL视图和触发器。我认为会有一些模板可以用作这样做的基础,但似乎并不那么容易找到。

有人可以建议一个 t4 模板,我可以将其用作从.EDMX. 或者,任何人都可以建议如何使用StorageMappingItemCollection从 EDMX 文件中检索映射信息。我知道有些人说显然你不能使用它,或者他们只使用 Linq to Xml,但我认为应该可以使用StorageMappingItemCollection该类作为强类型类来访问这些数据。

任何关于我如何StorageMappingItemCollection用来访问映射信息的示例都会非常有帮助。谢谢。

4

1 回答 1

0

请参阅http://brewdawg.github.io/Tiraggo.Edmx/您可以通过 Visual Studio 中的 NuGet 安装它,它会提供 Microsoft 隐藏的 EDMX 文件中的所有元数据,非常简单,效果很好。

于 2013-09-23T00:41:49.447 回答