`

Build Provider 不得不说的事

阅读更多
    之前有同学翻译了使用BuildProvider生成DAL的文章,又在网上搜索了一下,感觉这是个很有意思的功能,最近在做点东西用到这个,的确让我省了不少的事情。
    其实Build Provider所做的工作是把一个文件的内容来控制生成IL代码,其实从本质上来说是一个IL代码生成器,置于你用CS,或者VB,那就是自己喜好的问题了,那么从另一个意义上来说,如果我们实现了一个语言到C#或者VB的转换,从理论上来说我们可以在ASP.NET中使用所有的语言,甚至包括我们自己发明的语言,这真的是一种很有意思的功能,不过很疑惑的是微软为什么不在Winform实现这个特征,不过现在ASP.NET的应用更加广泛,所以倒也无妨。最近做了个东西,是因为对Subsonic再开发的时候必须实时连接数据库感觉比较麻烦(很多时候再没有数据库的地方想改上几句就老报错,很烦),所以做了个解析SQL语句的类准备直接解析创建表和表间关系和主键、索引的SQL脚本来生成DAL(这些可以从SQLServer导出,点点鼠标很方便的),在做的过程中发现其实我就是把一些代码生成器的工作放在了Build Provider中,历史又再次倒流了。

   Any Way,这个功能确实很有意思,希望能看到更多基于他的应用,欢迎多多讨论
分享到:
评论

相关推荐

    Flutter provider状态管理框架

    如果你需要在运行时更改Provider的实例,可以使用`Provider.of(context, listen: false)`来获取不监听变更的Provider实例,并进行替换: ```dart var oldCounter = Provider.of(context, listen: false); Provider....

    com.sun.crypto.provider.SunJCE----jar包

    在Eclipse中,你可以右键点击项目,选择“Build Path” -> “Configure Build Path” -> “Libraries” -> “Add JARs”或“Add External JARs”,然后选择`sunjce_provider.jar`。在IntelliJ IDEA中,可以右键点击...

    基于Android FileProvider 属性配置详解及FileProvider多节点问题

    在 Android 7.0 及更高版本中,系统对私有存储的限制变得更加严格,导致在获取资源时不能通过 Uri.fromFile 来获取 URI,需要使用 FileProvider 来共享文件。 FileProvider 属性配置主要包括两个部分: provider_...

    Android应用源码之30.Content_Providers(2).zip

    4. **Content Resolver**:在其他应用中,我们通常不直接与Content Provider交互,而是通过`ContentResolver`对象。`ContentResolver`提供了一种抽象的方式来访问Content Provider,它封装了与特定Provider通信的...

    Running JPA Applications with Hibernate as a Third-Party Persistence Provider on SAP NetWeaver CE 7.1EHP1

    - 使用 SAP 的 JPA 实现时,可能会遇到与标准 JPA 规范不完全一致的情况。 - 在使用 Hibernate 时,需要注意 SAP NetWeaver AS Java 中的一些特定配置和限制。 - 特别是在使用 JTA 事务管理和跨数据源事务方面可能...

    Framework not found IOSurface for architecture arm64(不能设为免费?)

    - **验证FileProvider框架**:同样地,确保FileProvider.framework也已添加到项目中,因为描述中提到了这个框架。 在“NeedFrameworks”压缩包中,可能包含了这些需要的框架,你需要将它们解压并正确导入到你的...

    terraform-provider-unifi:Unifi的Terraform提供商

    Unifi Terraform Provider(terraform-provider-unifi) 注意当您连接到可能断开连接的设备(例如WiFi)时,您不能(出于明显的原因)配置网络。 使用与控制器的硬连线连接来使用此提供程序。 首先需要将功能添加到 ...

    Android 出现问题Installation error: INSTALL_FAILED_CONFLICTING_PROVIDER解决办法

    通过以上步骤,大多数情况下都能成功解决`INSTALL_FAILED_CONFLICTING_PROVIDER`的错误。如果问题仍然存在,建议查看`logcat`输出以获取更详细的错误信息,这有助于进一步定位问题所在。同时,保持良好的编程习惯,...

    terraform-provider-alks:ALKS的Terraform Provider

    此工具最适合具有Admin角色的用户使用IAMAdmin|LabAdmin角色,您可以创建角色和附加策略,但不能创建其他基础结构。 适用于 0.10.0或更高版本。从源头建造要构建ALKS提供程序,请安装 (最好是1.14.4或更高版本)。...

    ASP.NET-[小偷采集]toolxp.net玩玩小游戏.net2.0版Build090706.zip

    在这个特定的压缩包"ASP.NET-[小偷采集]toolxp.net玩玩小游戏.net2.0版Build090706.zip"中,我们可以推测这可能是一个使用ASP.NET技术开发的小游戏平台,版本为.NET 2.0,发布于2009年7月6日。"小偷采集"可能是游戏...

    pact-jvm-provider-generic:pact-jvm-provider周围的轻量级包装,以便在Java项目中更轻松地使用

    总的来说,Pact-JVM-Provider-Generic是Java开发者进行契约测试的得力工具,它降低了契约测试的门槛,提高了测试的效率,确保了服务间的可靠通信。通过学习和应用这个库,开发者可以更好地维护和保证微服务架构的...

    android-support-v4 基本android7.0

    `FileProvider`提供了一种机制,使得应用可以在不暴露文件系统路径的情况下与其他应用共享文件,同时确保了安全性和隐私。 为了使用`android-support-v4`库,你需要将`android-support-v4.jar`文件添加到你的项目...

    适配Android高低版本自动更新apk安装

    对于Android10及更高版本,由于存储权限的改变,我们不能直接将APK保存到公共外部存储目录,而应使用`getExternalFilesDir()`或`getExternalCacheDir()`等方法获取应用私有的外部存储目录。下载的APK应保存在这些...

    适配android7.0获取文件的Uri的方法

    最终得到的 Uri 的格式:content://com.lzp.fileprovider/myFile/xxxxx.apk 看来主要是把分享出去的路径进行了加密,不能直接看到文件的完整路径。 适配 Android 7.0 获取文件的 Uri 的方法就是注册 ...

    Android7.0之后的机型出现的相机调起闪退及相册获取不到图片的解决方案

    这意味着,应用不能再像以前那样直接在外部存储(SD卡)上创建和读取文件。为解决这个问题,可以使用`getExternalFilesDir()`或`getExternalCacheDir()`方法,它们会返回应用特有的目录,这些目录在应用卸载后会被...

    安卓Launcher桌面相关-Androidstudio编译Launcher3在4.4系统SDK上成功运行.rar

    总的来说,这个压缩包提供的内容对于想要深入理解Android系统启动器工作原理,以及希望定制个性化启动器的开发者来说,是非常有价值的资源。通过实际操作,你不仅能学习到Android应用的开发流程,还能了解到Android...

    flutter的路由、命名规则

    在路由之间传递数据通常有多种方式,包括使用`BuildContext`的`ModalRoute.of()`方法、通过构造函数、或使用`InheritedWidget`(如`Provider`或`BlocProvider`)。以下是一个使用` ModalRoute.of()`传递参数的例子:...

    BuglyTinkerSample

    这个项目对于开发者来说,是一个很好的学习资源,它可以帮助理解如何在实际开发中处理应用程序出现的bug,无需发布新版本就能进行修复。 Bugly是一个由腾讯提供的专业移动应用异常监控平台,它能够实时捕获并分析...

    quartz实例sqlserver数据库连接

    首先,Quartz需要一个持久化存储来保存作业(Jobs)和触发器(Triggers)的信息,以便在系统重启后仍能恢复之前设置的调度。在SQL Server环境下,我们可以使用Quartz.NET的SQLServerJobStore,它是专门为SQL Server...

Global site tag (gtag.js) - Google Analytics