一个高性能、易用性强、跨数据库的数据库访问框架(它即将问世,功能展示)
1.高性能(该框架采用纯的ADO.NET进行框架,避免Linq以及反射带来的性能损失);
2.易用性强(配置简单,智能感知,代码生成器的辅助,会sql就可(可以自我性能优化)) ;
3.多数据库支持(整个框架采用工厂模式设计,目前支持oracle,mssql,mysql,sqlite,acess,如果需要可自我扩增,工厂模式就这点好,你懂的)
下面我们预览一下.
View Code
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
using System.Windows;
using System.Windows.Forms;
//引入该框架
using Qin.Data;
//这是生成的实体类
using Model;
namespace Qin.Test
{
class Program
{
public static void Main(string[] args)
{
//插入数据---------
DBTool db=new DBTool( Table.CitySet);
db.SetInsertField(CitySet.CName_,"城市1");
db.SetInsertField(CitySet.CID_,"10001");
db.SaveChanges();
var newID=db.NewID;//新生成的自增主键
//----------------
//更新数据--------------
db.SetUpdateField(CitySet.CName_,"城市一");
db.SetUpdateField(CitySet.CID_,"1--1");
db.Where=CitySet.ID_+"="+newID;
db.SaveChanges();
//-----------------------
//删除-------------------
db.Delete(CitySet.ID_,newID);
//或者
// db.DeleteWhere( CitySet.ID_+"="+newID);
// db.SaveChanges();
//-----------------------
Console.WriteLine("Press any key to continue . . . ");
Console.Read();
}
}
}
using System.Collections.Generic;
using System.Configuration;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
using System.Windows;
using System.Windows.Forms;
//引入该框架
using Qin.Data;
//这是生成的实体类
using Model;
namespace Qin.Test
{
class Program
{
public static void Main(string[] args)
{
//插入数据---------
DBTool db=new DBTool( Table.CitySet);
db.SetInsertField(CitySet.CName_,"城市1");
db.SetInsertField(CitySet.CID_,"10001");
db.SaveChanges();
var newID=db.NewID;//新生成的自增主键
//----------------
//更新数据--------------
db.SetUpdateField(CitySet.CName_,"城市一");
db.SetUpdateField(CitySet.CID_,"1--1");
db.Where=CitySet.ID_+"="+newID;
db.SaveChanges();
//-----------------------
//删除-------------------
db.Delete(CitySet.ID_,newID);
//或者
// db.DeleteWhere( CitySet.ID_+"="+newID);
// db.SaveChanges();
//-----------------------
Console.WriteLine("Press any key to continue . . . ");
Console.Read();
}
}
}
然后我们介绍一下简单的配置文件.
View Code
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="web" value="No" /><!--是否是完整开发-->
<add key="databaseName" value="MSSQL" /><!--数据库的类型 还可以写MYSQL,SQLITE,ACCESS等....-->
<add key="linkString" value="Server=www.hd01.com.cn;database=HD01SystemDB;Uid=qinshichuan;Pwd=123"/>
</appSettings>
</configuration>
<configuration>
<appSettings>
<add key="web" value="No" /><!--是否是完整开发-->
<add key="databaseName" value="MSSQL" /><!--数据库的类型 还可以写MYSQL,SQLITE,ACCESS等....-->
<add key="linkString" value="Server=www.hd01.com.cn;database=HD01SystemDB;Uid=qinshichuan;Pwd=123"/>
</appSettings>
</configuration>
我们再看看我们的代码生成器.
其他功能介绍.
1。获取指定字段.
View Code
//插入数据---------
DBTool db=new DBTool( Table.CitySet);
db.Where=CitySet.ID_+"="+1;
var data=db.GetDestinationFields(CitySet.CName_,CitySet.CID_);
Console.WriteLine(data["CName"]);
Console.WriteLine(data["CID"]);
Console.WriteLine("Press any key to continue . . . ");
Console.Read();
DBTool db=new DBTool( Table.CitySet);
db.Where=CitySet.ID_+"="+1;
var data=db.GetDestinationFields(CitySet.CName_,CitySet.CID_);
Console.WriteLine(data["CName"]);
Console.WriteLine(data["CID"]);
Console.WriteLine("Press any key to continue . . . ");
Console.Read();
2。获取指定的一个字段
View Code
DBTool db=new DBTool( Table.CitySet);
db.Where=CitySet.ID_+"="+1;
var data=db.GetOneField<string>(CitySet.CName_);
Console.WriteLine(data);
db.Where=CitySet.ID_+"="+1;
var data=db.GetOneField<string>(CitySet.CName_);
Console.WriteLine(data);
3。执行自定义语句
var sql=".....";
DBTool.Database.ExecuteOneSql(sql);
DBTool.Database.ExecuteOneSql(sql);
若大家感兴趣到时候我发布给大家免费使用.目前正用于我们公司的开发中(实体框架性能很低,不敢用了)
先给大家提供库dll以及生成器 ,若有兴趣请关注(Files/humble/Debug.zip)
少侠,我看你气度不凡天赋异禀,骨骼精奇,这么帅,来了就帮推荐一把吧
我的最近更新