Mozi.DataAccess 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Mozi.DataAccess 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Mozi.DataAccess 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 MIT
开发语言 C#
操作系统 跨平台
软件类型 开源软件
开源组织
地区 不详
投 递 者 JasonWcx
适用人群 未知
收录时间 2022-05-31

软件简介

Mozi.DataAccess 是一个基于 .Net 开发的 SQL ORM 套件。框架的设计理念是:轻量,简洁,务实。

目的和愿景

开发这个项目就是为了最大限度的降低学习和使用成本,减少项目重构成本,提高开发效率。ORM这个圈子本身是有很多成熟的优秀的框架,今年流行这个明年流行那个,常常使我们疲于学习。 无论框架怎么变,一个ORM框架的核心无非是:1,持久化;2,对象映射;3,数据库访问。在以上三点的基础上需要同时保证:1,易用且实用;2,充分解耦合重构成本低;3,性能损耗低。

特点

  1. 轻量化
    项目编译结果小,没有复杂的配置文件

  2. 可用性
    框架经过了长周期的项目考验

  3. 低耦合
    实现了业务逻辑和SQL的彻底分离,框架只专注于数据库的访问

  4. 可控性
    框架的使用最大限度的保留了SQL的原貌

模块

  1. 数据库访问

  2. 对象映射

  3. SQL执行队列

数据库适配

  • SQLServer
  • Sqlite
  • MySql

SQL表达式定义

[{
	"name": "mz.createtableuser",
	"command": "query",
	"parameter": [ ],
	"statement": "
		IF NOT EXISTS(SELECT 1 FROM sysobjects WHERE id=object_id(\'$schema$.tbUsers\') AND TYPE =\'U\'))
		CREATE TABLE tbUsers
		(
				UserId   varchar(10) default \'\' not null ,
				NickName varchar(100) default \'\' not null,
				UserPwd  varchar(32) default \'\' not null,
				RegDate  date not null,
				Mobile   varchar(20) default \'\' not null,
				IsForbidden int default 0 not null
				CONSTRAINT PK_TBUSERS PRIMARY KEY (UserId)
		)
	",
	"results": [ ],
	"comment": "创建用户信息表"
},{
	"name": "mz.getuserinfo",
	"command": "query",
	"parameter": [ "UserId" ],
	"statement": "select * from $schema$.tbUsers where UserId=#param.UserId# ",
	"results": [ "UserId", "Nickname" ],
	"comment": "获取用户信息"
}]   
 

模型类定义

using System;

namespace Mozi.DataAccess.Test.Model
{
	public class User
    {
        public string UserId    { get; set; }
        public string NickName  { get; set; }
        public string Password  { get; set; }
        public string Mobile    { get; set; }
        public DateTime RegDate { get; set; }
        public int IsForbidden  { get; set; }
    }
}
 

数据访问接口定义

    public class DaUser
    {
        /// <summary>
        /// 数据库访问对象
        /// </summary>
        SQLServer.Access _server = new SQLServer.Access(new ServerConfig()
        {
            Host="127.0.0.1",
            Instance="",
            User="sa",
            Password="123456",
            ConnectionName="测试库",
            Database="example"
        });
        /// <summary>
        /// 查询指定的用户
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public User GetUsers(string userid)
        {
            SqlStatement sql = SqlMapContainer.Find("mz.getuserinfo");
            return _server.ExecuteQueryForTop<User>(sql, new { UserId = userid });
        }
    }	

版权说明

本项目采用MIT开源协议,引用请注明出处。欢迎复制,引用和修改。复制请注明出处,引用请附带证书。意见建议疑问请联系软件作者,或提交ISSUE。

By Jason on Oct. 12,2017

 

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
发表了资讯
2022/05/31 14:38

Mozi.DataAccess 1.1.2 发布,ORM 框架

Mozi.DataAccess是一个基于.Net开发的SQL ORM套件。框架的设计理念是:轻量,简洁,务实。目前文档还没有完善,今后会逐步完善文档。其中MSSQL的部分已经实战考验,可用性比较高。 目的和愿景 开发这个项目就是为了最大限度的降低学习和使用成本,减少项目重构成本,提高开发效率。ORM这个圈子本身是有很多成熟的优秀的框架,今年流行这个明年流行那个,常常使我们疲于学习。 无论框架怎么变,一个ORM框架的核心无非是:1,持久...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
4 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部