程序全部是自己實現的,原理是對sql語句的包裝,現在支持mysql和sqlite,可以擴展到現在主流的數據庫。
程序下載地址:C# 自已實現ORM程序下載
實體生成工具下載:實體生成工具下載
下面對程序進行介紹。
首先添加引用:DB.DAL.dll,MySql.Data.dll,System.Data.SQLite.dll
建立數據源:
<span style="font-size:14px;">public class dbResource
{
public static string TestDataConnStr = ConfigurationManager.ConnectionStrings["TestDataConnStr"].ConnectionString;
/// <summary>
/// Test數據庫數據源
/// </summary>
public static IDataSourceType TestDataDBSource
{
get
{
IDataSourceType ds = IDataSourceTypeFactory.Create(DataSourceType.MySQL, TestDataConnStr);
return ds;
}
}
}</span>
在配置文件中添加如下連接字符串:
<span style="font-size:14px;"><connectionStrings>
<add name="TestDataConnStr" connectionString="server=localhost;uid=root;pwd=123456;Database=Test;Connection Timeout=120;" />
</connectionStrings></span>
使用圖例:
選擇生成的語言及數據庫
生成:
其中生成的實體類例子如下:
<span style="font-size:14px;">[DataContract]
[Table(TableName = "user")]
public class drUser
{
[DataMember]
[Column(IsPrimary = true, IsIdentity = true)]
public int Id { get; set; }
[DataMember]
public string Name { get; set; }
public drUser()
{
}
}</span>
以下是對數據庫增刪改查的使用:
//查詢出所有的用戶信息
List<drUser> list = ORMHelper.GetListBySQL<drUser>("select * from user", dbResource.TestDataDBSource);
//根據sql語句查詢出用戶
try
{
drUser user1 = ORMHelper.GetModelBySQL<drUser>("select * from user where id = 2", dbResource.TestDataDBSource);
MessageBox.Show(user1.Name);
}
catch
{
MessageBox.Show("this is a exception");
}
//通過SQL語句修改個人的信息
ORMHelper.UpdateBySQL("update user set Name='abc' where id=2", dbResource.TestDataDBSource);
drUser user = new drUser();
user.Id = 1;
user.Name = "daaa";
//根據實體對象更新一條數據
ORMHelper.UpdateModelById<drUser>(user, dbResource.TestDataDBSource);
//根據id刪除用戶
drUser user2 = ORMHelper.GetModelBySQL<drUser>("select * from user where id = 2", dbResource.TestDataDBSource);
ORMHelper.DeleteModelById<drUser>(user2, dbResource.TestDataDBSource);
//根據where條件刪除用戶
//ORMHelper.DeleteModel<drUser>("Id > 3", dbResource.TestDataDBSource);
List<drUser> alist = new List<drUser>();
for (int i = 4; i < 10; i++) {
drUser duser = new drUser();
duser.Id = i;
duser.Name = "aaa"+i;
alist.Add(duser);
}
//添加一組數據 批量插入數據庫
ORMHelper.InsertList<drUser>(alist,dbResource.TestDataDBSource);
//根據model實體添加一條記錄
drUser user3 = new drUser();
user3.Name = "dafa";
int j = 18;
ORMHelper.InsertModel<drUser>(user3, out j, dbResource.TestDataDBSource, false);
http://www.teahoo.net/IT/20151113616.html