如何调整闭源Entity Provider程序集以适配最新EntityFramework版本?

2026-05-27 09:161阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2153个文字,预计阅读时间需要9分钟。

如何调整闭源Entity Provider程序集以适配最新EntityFramework版本?

阅读完本文,你将了解到,在没有源代码的情况下,如何直接修改DLL文件去除其命令行参数限制,并在程序集上直接添加你的友元程序集(一种特殊的Attribute),将其应用于程序集。

读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内的 internal 类型能够被其它程序集直接调用)”。以此类推,你可以用此方法,直接修改程序集,达到想要的目的。

银行的一个项目,客户要求使用他们现有的的 Teradata 数据库,项目组第一个想到的是 NHibernate ,但是几乎没有找到关于 NHibernate 支持 Teradata 数据库的资料,于是把问题抛给了我。

我也没有找到相关资料,奇怪的是 Java 版 hibernate 是支持 Teradata 的,为什么 NHibernate 当年移植的时候没有做 Teradata dialect 的移植?是因为有技术上的限制吗?我一方面在 NHibernate 官方 Group 里表达了这个疑问,一方面发现 Entity Framework 是支持 Teradata 数据库的,把这个消息告知了项目组。

第二天,看到 NHibernate Group 里面有回复了,“或许只因为是没有人实现它”。这样我也打消了最后的顾虑,自己参考 Java 版 hibernate teradata dialect 做了个 NHibernate 版的实现,由于没有项目组 teradata 数据库的特定环境,只能发给项目组他们去做测试了。

阅读全文

本文共计2153个文字,预计阅读时间需要9分钟。

如何调整闭源Entity Provider程序集以适配最新EntityFramework版本?

阅读完本文,你将了解到,在没有源代码的情况下,如何直接修改DLL文件去除其命令行参数限制,并在程序集上直接添加你的友元程序集(一种特殊的Attribute),将其应用于程序集。

读完本文你会知道,如何在没有源码的情况下,直接修改一个 DLL 以去除 DLL 上的强命名限制,并在该程序集上直接添加你的“友元程序集(一种特殊的 Attribute,将它应用在程序集上,使得程序集内的 internal 类型能够被其它程序集直接调用)”。以此类推,你可以用此方法,直接修改程序集,达到想要的目的。

银行的一个项目,客户要求使用他们现有的的 Teradata 数据库,项目组第一个想到的是 NHibernate ,但是几乎没有找到关于 NHibernate 支持 Teradata 数据库的资料,于是把问题抛给了我。

我也没有找到相关资料,奇怪的是 Java 版 hibernate 是支持 Teradata 的,为什么 NHibernate 当年移植的时候没有做 Teradata dialect 的移植?是因为有技术上的限制吗?我一方面在 NHibernate 官方 Group 里表达了这个疑问,一方面发现 Entity Framework 是支持 Teradata 数据库的,把这个消息告知了项目组。

第二天,看到 NHibernate Group 里面有回复了,“或许只因为是没有人实现它”。这样我也打消了最后的顾虑,自己参考 Java 版 hibernate teradata dialect 做了个 NHibernate 版的实现,由于没有项目组 teradata 数据库的特定环境,只能发给项目组他们去做测试了。

阅读全文