Mozi.DataAccess是一个基于.Net开发的SQLORM套件。框架的设计理念是:轻量,简洁,务实。
目的和愿景开发这个项目就是为了最大限度的降低学习和使用成本,减少项目重构成本,提高开发效率。ORM这个圈子本身是有很多成熟的优秀的框架,今年流行这个明年流行那个,常常使我们疲于学习。无论框架怎么变,一个ORM框架的核心无非是:1,持久化;2,对象映射;3,数据库访问。在以上三点的基础上需要同时保证:1,易用且实用;2,充分解耦合重构成本低;3,性能损耗低。
特点轻量化项目编译结果小,没有复杂的配置文件
可用性框架经过了长周期的项目考验
低耦合实现了业务逻辑和SQL的彻底分离,框架只专注于数据库的访问
可控性框架的使用最大限度的保留了SQL的原貌
模块数据库访问
对象映射
SQL执行队列
数据库适配SQLServerSqliteMySqlSQL表达式定义[{"name":"mz.createtableuser","command":"query","parameter":[],"statement":"IFNOTEXISTS(SELECT1FROMsysobjectsWHEREid=object_id(\'$schema$.tbUsers\')ANDTYPE=\'U\'))CREATETABLEtbUsers(UserIdvarchar(10)default\'\'notnull,NickNamevarchar(100)default\'\'notnull,UserPwdvarchar(32)default\'\'notnull,RegDatedatenotnull,Mobilevarchar(20)default\'\'notnull,IsForbiddenintdefault0notnullCONSTRAINTPK_TBUSERSPRIMARYKEY(UserId))","results":[],"comment":"创建用户信息表"},{"name":"mz.getuserinfo","command":"query","parameter":["UserId"],"statement":"select*from$schema$.tbUserswhereUserId=#param.UserId#","results":["UserId","Nickname"],"comment":"获取用户信息"}] 模型类定义usingSystem;namespaceMozi.DataAccess.Test.Model{publicclassUser{publicstringUserId{get;set;}publicstringNickName{get;set;}publicstringPassword{get;set;}publicstringMobile{get;set;}publicDateTimeRegDate{get;set;}publicintIsForbidden{get;set;}}} 数据访问接口定义publicclassDaUser{///<summary>///数据库访问对象///</summary>SQLServer.Access_server=newSQLServer.Access(newServerConfig(){Host="127.0.0.1",Instance="",User="sa",Password="123456",ConnectionName="测试库",Database="example"});///<summary>///查询指定的用户///</summary>///<paramname="userid"></param>///<returns></returns>publicUserGetUsers(stringuserid){SqlStatementsql=SqlMapContainer.Find("mz.getuserinfo");return_server.ExecuteQueryForTop<User>(sql,new{UserId=userid});}}版权说明本项目采用MIT开源协议,引用请注明出处。欢迎复制,引用和修改。复制请注明出处,引用请附带证书。意见建议疑问请联系软件作者,或提交ISSUE。
ByJasononOct.12,2017
评论