打开深蓝医生的国庆大礼包!

简介: 打开深蓝医生国庆大礼包,里面是一个orm,我就看看了看这个开源的orm,我觉得很多人应该只看看文章并没有下载也没有看源码,我建议有时间的还是看看好 国庆大礼包地址:节前送礼:PDF.NET(PWMIS数据开发框架)V3.

打开深蓝医生国庆大礼包,里面是一个orm,我就看看了看这个开源的orm,我觉得很多人应该只看看文章并没有下载也没有看源码,我建议有时间的还是看看好

国庆大礼包地址:节前送礼:PDF.NET(PWMIS数据开发框架)V3.0版开源

 

深蓝医生orm源代码的好处

1: 医生的代码几乎所有的地方都有注释,而且是中文的,这是很多国外开源代码所没有的,也是很多国内开源代码所没有的

2 :医生的代码已经写了5年,有很多地方的代码写了有注掉了,改为新的代码,发现看这样的代码还是比较有意思的

3:医生的orm是这样的,开始计划写个sqlhelper=》ADO.NEThelper=》queryhelper=》orm

4:我认为,医生的代码是我能看懂的一个开源的项目1

5:可以发现很多问题。。。。。。。。。。。

6:医生在博客园,找他方便,在一个群里,找他更方便O(∩_∩)O~

 

医生orm的基本增查改

ps:医生的demo做了很烂,因为医生的哲学没学好,把orm的特色和orm的基本功能搞反了,demo里面都是特色,而没有基本功能

sql

CREATE TABLE [dbo].[userinfo](
    [id] [int] IDENTITY(1,1) NOT NULL,
    [username] [nvarchar](50) NOT NULL,
    [userpassword] [nvarchar](50) NOT NULL,
    [userbrief] [ntext] NOT NULL,
    [userimg] [nvarchar](50) NOT NULL,
 CONSTRAINT [PK_userinfo] PRIMARY KEY CLUSTERED 
(
    [id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
 
GO

用医生的工具生成相关的实体类即可

插入demo

        protected void Page_Load(object sender, EventArgs e)
        {
            
 
            SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
            EntityQuery<SuperMarket.userinfo> query = new EntityQuery<SuperMarket.userinfo>(objuserinfo,true);
            objuserinfo.username = "互联网fans";
            objuserinfo.userpassword = "1234567";
            objuserinfo.userimg = "http://tp2.sinaimg.cn/1271114553/180/5614484664/1";
            objuserinfo.userbrief = @"博客园菜鸟级博主,七脸阁主题APP开发者,专注于WebApp的开发和研究,
提倡通过命题作文寻找创新的灵感和创意的点子。
新浪应用搜索最新作品:表情帝。";
            //query.Save();
           // Response.Write(objuserinfo.id);
            int id= query.Insert(objuserinfo);
            Response.Write(id);
 
 
            /*问题1: 这样写代码 无效
                SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
                 objuserinfo.username = "互联网fans";
            objuserinfo.userpassword = "1234567";
            objuserinfo.userimg = "http://tp2.sinaimg.cn/1271114553/180/5614484664/1";
            objuserinfo.userbrief = @"博客园菜鸟级博主,七脸阁主题APP开发者,专注于WebApp的开发和研究,
提倡通过命题作文寻找创新的灵感和创意的点子。
新浪应用搜索最新作品:表情帝。";
               EntityQuery<SuperMarket.userinfo> query = new EntityQuery<SuperMarket.userinfo>(objuserinfo,true);
               query.Save();
            Response.Write(objuserinfo.id);
             * 
             * 问题2: 用save方法统一了insert 和update 不是很习惯
             * 问题3: Insert 方法返回整数,很容易误解,以为返回的是自增id
             */
 
 
 
 
 
            /*
            User zhang_san = new User();
            //zhang_san.Uid = 5;
            EntityQuery<User> query = new EntityQuery<User>(zhang_san,true );
            zhang_san.Name = "张三1";
            query.Save();//新增
            Console.WriteLine("新增实体对象OK");
            zhang_san.Birthday = new DateTime (1977,3,10);
            query.Save();//修改
            Console.WriteLine("修改实体对象OK");
注:EntityQuery<T>(T,true) 表示当前实体类的持久化方式为“新增”。
             * ps 下我学.NET学了好长时间才知道什么叫持久化,但是这个持久化放在rom里面貌似不合适。。。。。
           */
       
            
        }

update demo

 

 protected void Page_Load(object sender, EventArgs e)
        {
            SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
            //OQL query = new OQL(objuserinfo);
 
            //OQL result = query.Select().Where(query.Condition.AND(objuserinfo.id, "=", 1)).END;
            
 
            //objuserinfo.id = 1;
            //EntityQuery<SuperMarket.userinfo>.Fill(objuserinfo);
            //objuserinfo.userbrief = "我修改" + DateTime.Now.ToString();
            objuserinfo.id = 1;
            //EntityQuery<SuperMarket.userinfo> query2 = new EntityQuery<SuperMarket.userinfo>(objuserinfo,false);
            EntityQuery<SuperMarket.userinfo> query2 = new EntityQuery<SuperMarket.userinfo>(objuserinfo, true);
            
            query2.FillEntity(objuserinfo);
            objuserinfo.userbrief = "我修改" + DateTime.Now.ToString();
            //int falg= query2.Save(objuserinfo);
 
            int falg = query2.Update(objuserinfo);
 
           
           
 
            //List<SuperMarket.userinfo> mylist = EntityQuery<SuperMarket.userinfo>.QueryList(result);
            // 不知道主键情况下 获取列表?
 
            /*
                  OQL q = OQL.From(emp)
                         .Select(emp.WorkNumber,emp.EmployeeName)
                         .Where(emp.JobName)
                         .OrderBy(emp.EmployeeName, "asc")
                         .END;
                     List<Employee> list= EntityQuery<Employee>.QueryList(q);
             */
 
 
 
 
 
 
        }

select demo

 

  protected void Page_Load(object sender, EventArgs e)
        {
            //获取一个实体的信息
            SuperMarket.userinfo objuserinfo = new SuperMarket.userinfo();
            objuserinfo.id = 1;
            EntityQuery<SuperMarket.userinfo> query2 = new EntityQuery<SuperMarket.userinfo>(objuserinfo, true);
            query2.FillEntity(objuserinfo);
 
            //获取一个list
            OQL query = new OQL(objuserinfo);
            OQL result = query.Select().Where(query.Condition.AND(objuserinfo.id, ">", 1)).END;
            List<SuperMarket.userinfo> mylist = EntityQuery<SuperMarket.userinfo>.QueryList(result);
 
        }

 

基本 的增改查 OK了

test
相关文章
|
Python
Pythyon|当中秋遇上国庆
Pythyon|当中秋遇上国庆
219 0
|
机器学习/深度学习 算法
种类并查集(蓝桥侦探)
种类并查集(蓝桥侦探)
|
数据安全/隐私保护 图形学 Windows
推荐五款宝藏软件,身为宝藏男孩和宝藏女孩的你,不试一下吗?
今天带来五款宝藏软件,身为宝藏男孩和宝藏女孩的你们,不试一下吗?
206 0
推荐五款宝藏软件,身为宝藏男孩和宝藏女孩的你,不试一下吗?
|
JSON 移动开发 前端开发
情人节福利,撩妹神器恋爱话术库它来了~
情人节福利,撩妹神器恋爱话术库它来了~
778 0
情人节福利,撩妹神器恋爱话术库它来了~
|
人工智能 编解码 达摩院
中秋,和千年前的朋友一起上央视
昨天,杭州图书馆和达摩院的合作项目「AI算法复现古人“吟咏”中秋画面」,获得了CCTV13的报道。
510 0
|
Devops 程序员 数据安全/隐私保护
30行代码,10分钟,七夕脱单攻略
那么如何10分钟写封有动(liao)人(mei)的情书呢?,首先你得有个对象,new的也可以,其次你得有秘密,公开的也可以。
485 0
30行代码,10分钟,七夕脱单攻略
|
机器人 atlas
逆天!波士顿动力再出视频,机器狗大跳火星哥热舞
波士顿动力又出新视频了!这次是机器狗SpotMini,在视频中,该机器人伴着大热单曲《Uptown Funk》秀了一段热舞。网友大叹:现在连机器人都比我会跳舞了!快来跟着SpotMini老师一起学舞蹈吧!
6881 0
|
安全 前端开发 程序员
程序员把电脑病毒当宠物养!网友:要不要这么可爱?
提起电脑病毒四个字,大家第一时间就会想到熊猫烧香,木马等等吧。很多电脑病毒破坏力惊人,熊猫烧香在当年也是让全国人民都陷入一种恐慌状态。但对于我们程序员来说,看过的病毒跟吃的米一样多,哈哈,有点夸张。
1354 0
|
小程序 C# 程序员
七夕快到了!表白小程序制作详解,撩翻你的女神!
大家可能都会在抖音上刷过,那种表白小程序,但在我看来表白还是亲口说出来比较好,这类小程序只适合在平常的一些小节日给对方一个惊喜。话不多说,现在进入正题:         首先,要在电脑上安装微软的编译软件,我这里是使用的VS2017,安装的时候如果没有别的需要,直接选择下载wpf的组件就好。
1904 0
《癌症·真相》读书简摘
癌症(cancer,也是巨蟹座的意思,希波克拉底命名的)和肿瘤(tumor) 癌症 = 恶性肿瘤 + 血癌 肿瘤 = 良性肿瘤 + 恶性肿瘤 良性肿瘤 = 不存在 作者给出了一个患癌概率(P)公式: P=abcd,其中: a,细胞分裂次数; b,每次分裂产生突变基因数目; c,突变基因是致癌基因的概率; d,免疫系统清除癌细胞失败概率。
925 0

热门文章

最新文章