文档章节

.net 3.5 c#构建动态类型最佳实践

你来人间一趟
 你来人间一趟
发布于 2015/05/14 23:45
字数 352
阅读 247
收藏 4

为什么要在.net3.5下面构建,有几个原因:

  1. win7自带.net 3.5 ,用户无须安装

  2. 我用的是vs2008,不想升级

  3. .net 4.0引入了关键字,但是我想.net 3.5下面也有类似功能

  4. 这是构建orm的基础,一言以蔽之,市面上的orm都不好用,我想重新造轮子

  5. 暂时没想到

      

最终结果是这样的

属性名是字符串,属性值随便什么类型。

下图是我写了两个晚上的orm,多表查询生成的是动态类型List,同时映射到多个实体类,在展现层的代码量极少,便于工具生成。

我对orm的设想如下:

  1. 基础的增删改查,一定要简洁,方便

  2. 生成实体类工具

  3. 实体类自动检验

  4. 自动生成webAPI工具,带一个轻量级的console httpserver

  5. 多表关联检索的数据自动绑定到多个实体类

  6. 自动事务处理

  7. 输出类型(List<T>,DataTable, xml , json )

  8. 展现层辅助工具--生成winform(基于dotnetbar),web(基于ligerui),phone(基于ionic),这个是我儿时梦想

  9. 支持常用数据库,提供数据迁移工具

  10. 跨平台....这是流行趋势

  11. 以上集成一套orm可视化工具

  12. 挑出以上可在今年实现的功能先码起来




© 著作权归作者所有

共有 人打赏支持
下一篇: 2015年计划
你来人间一趟
粉丝 24
博文 13
码字总数 4538
作品 0
南京
程序员
私信 提问
TechED VS2008课件

园子里的兄弟姐妹大家好! 我将在TechED2007上海站讲过的VS2008幻灯片传上来了,由于平时讲课不多,而且一般受众主要是架构师和资深开发人员,所以会后部分人反馈说讲的有点深了,以后我会注...

张大磊
2007/11/05
0
0
Linq 动态查询库

【原文地址】Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library) 【原文发表日期】 Monday, January 07, 2008 11:02 PM LINQ (语言级集成查询)是VS 2008 和 .NET 3.5中提供的一...

长平狐
2013/03/28
216
0
Unity脚本运行时更新带来了什么?

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhenghongzhi6/article/details/82705584 洪流学堂,让你快人几步!本文首发于洪流学堂微信公众号。 本文是该...

关尔Manic
2018/09/14
0
0
Scala编程语言视频教程|Scala视频教程

Scala编程语言视频教程 分享网盘下载——https://pan.baidu.com/s/1kUFL6Ub 密码: m7k4 Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于...

nitycka
2017/11/01
0
0
C#脚本实践(三): 集成到游戏

编译 冒似不编译没有.lib可以用 从官方上下载稳定版本的代码, 不要去GitHub直接拉 默认的工程有几个路径和宏之类的不对, 小改一下就可以 如果缺文件, 可以到GitHub的历史版本里去找 编译好了...

长平狐
2012/11/12
489
0

没有更多内容

加载失败,请刷新页面

加载更多

什么时候使用字节流、什么时候使用字符流,二者的区别

在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。 InputStream 和OutputStream,...

watermelon11
51分钟前
4
0
Alpakka Kafka,反应式Kafka客户端

Alpakka Kafka 是一个要用于 Java 和 Scala 语言的开源的流感知和反应式集成数据线项目。它建立在 Akka Stream之上,提供了 DSL 来支持反应式和流式编程,内置回压功能。Akka Streams 是 Re...

羊八井
今天
4
0
PHP7源码编译安装详解

$ yum groupinstall "development tools"$ yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype \freetype-devel libpng libpng-devel libxml2 ......

问题终结者
今天
5
0
Django学习笔记-从创建虚拟环境到启用服务

1 前置条件 windows系统下,目前已经完成anaconda3或miniconda3的安装,这也意味着已经完成了python3的安装。 2 创建虚拟环境 1、通过Anaconda Prompt,使用conda命令创建虚拟环境(base) e...

davidwbnu
昨天
4
0
python学习04:函数的定义及基本使用

python可以像c++一样,可以直接定义函数。具体格式如下: def(关键字) 函数名(形参01,形参02...): do_something... #如果有返回值,则调用以下语句 return 返回值...

太空堡垒
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部