每个实体框架提供程序都包含一个 DbProviderManifest 组件,该组件具有以下方法:
公共抽象 ReadOnlyCollection GetStoreTypes();
此方法用于返回所有数据库特定的数据类型。例如,MSSQL 提供程序返回 SqlServer.int、SqlServer.decimal、SqlServer.varchar... 等。
返回的集合包含 PrimitiveType 对象,这些对象存储有关数据类型的各种信息(包括命名空间和名称)。
DbProviderManifest 类通常通过派生自 DbXmlEnabledProviderManifest 基类来实现。它通过解析xml 文件中的数据类型来实现上述方法。
不幸的是,我还没有找到任何其他方法来正确实现此方法,因为 PrimitiveType 类不提供任何能够设置命名空间和数据类型名称的公共构造函数或工厂方法。是否可以通过没有xml的纯代码实现DbProviderManifest类?