DbEntry——学习笔记(一)

dbentry是一个开源的ORM(关系对象模型)框架,http://dbentry.codeplex.com/这是在托管网站上的项目,更详细的资料可在这里查看。写这篇文章的目的是在学习了新东西后及时的记录下来,以加深自己的理解。

  1. 下载安装

          从托管网站下载下来的安装包为DbEntry.Net.v4.1.Setup.zip,这是最新版本。安装完成之后,会在vs里创建一个模板,用于日后项目中创建实体类库。

     2.  新建实体类库项目

          VS右键解决方案,添加-新建项目,从已安装的模板中选择DbEntryClassLibrary模板。这个模板就是安装dbentry之后的创建的,如果不使用这个模板来新建实体类库项目,在运行项目时会报错。当时被这问题困扰了好久,在网上找了很多才看到的。下面的就是我设计的实体类:

View Code
  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using Lephone.Data.Definition;
  6 
  7 namespace CmsEntryModel.Models
  8 {
  9     #region 用户实体
 10     /// <summary>
 11     /// 用户
 12     /// </summary>
 13     public class TbUser : DbObjectModel<TbUser>
 14     {
 15 
 16         /// <summary>
 17         ///用户名
 18         /// </summary>
 19         public string UserName
 20         {
 21             get;
 22             set;
 23         }
 24 
 25         /// <summary>
 26         ///密码
 27         /// </summary>
 28         public string UserPWD
 29         {
 30             get;
 31             set;
 32         }
 33 
 34         /// <summary>
 35         ///权限 0为普通用户,1为管理员
 36         /// </summary>
 37         public int Authority
 38         {
 39             get;
 40             set;
 41         }
 42 
 43         /// <summary>
 44         ///邮箱
 45         /// </summary>
 46         public string Email
 47         {
 48             get;
 49             set;
 50         }
 51 
 52         /// <summary>
 53         ///创建日期
 54         /// </summary>
 55         public DateTime CreateDate
 56         {
 57             get;
 58             set;
 59         }
 60     }
 61     #endregion
 62 
 63 
 64 
 65     #region 文章实体
 66   /// <summary>
 67   /// 文章
 68   /// </summary>
 69     public class Article : IDbObject
 70   {
 71 
 72     /// <summary>
 73     ///文章ID
 74     /// </summary>
 75     [DbKey]
 76     public int ArticleId
 77     {
 78         get;
 79         set;
 80     }
 81 
 82     /// <summary>
 83     ///文章标题
 84     /// </summary>
 85     public string Title
 86     {
 87         get;
 88         set;
 89     }
 90 
 91     /// <summary>
 92     ///内容
 93     /// </summary>
 94     public string Content
 95     {
 96         get;
 97         set;
 98     }
 99 
100     /// <summary>
101     ///文章介绍图片
102     /// </summary>
103     public string ArticleImage
104     {
105         get;
106         set;
107     }
108 
109     /// <summary>
110     ///作者
111     /// </summary>
112     public string Author
113     {
114         get;
115         set;
116     }
117 
118     /// <summary>
119     ///排序
120     /// </summary>
121     public int Sort
122     {
123         get;
124         set;
125     }
126 
127     /// <summary>
128     ///文章分类ID
129     /// </summary>
130     public int ArticleCategoryId
131     {
132         get;
133         set;
134     }
135 
136     /// <summary>
137     ///点击量
138     /// </summary>
139     public int ClickRate
140     {
141         get;
142         set;
143     }
144 
145     /// <summary>
146     ///发布日期
147     /// </summary>
148     public DateTime CreateDate
149     {
150         get;
151         set;
152     }
153   }
154 
155 #endregion
156    }
157 }

 


需要引用这个命名空间Lephone.Data.Definition。
在设计实体类的时候,需要实现IDbObject接口,并且主键属性必须用[Dbkey]特性声明。或者继承DbObjectModel<T>类,此时设计的实体类不能包括Id属性,因为在
DbObjectModel<T>类定义了了Id属性,并且把Id标记为了主键字段。我在这个类的定义中可以看到:
View Code
using System;

namespace Lephone.Data.Definition
{
    [Serializable]
    public class DbObjectModel<T, TKey> : DbObjectModelBase<T, TKey>
        where T : global::Lephone.Data.Definition.DbObjectModel<T, TKey>, new()
        where TKey : struct
    {
        public DbObjectModel();

        [DbKey]
        public TKey Id { get; set; }
    }
}

 

 

  3.   配置web.config

           web.config的配置方式如下,需要注意的是下面展示的配置信息必须位于<configuration>节点下的最前面,即<appSettings>,<connectionStrings>等这些节点必须在下面配置信息节点的后面,否则会报错。

View Code
  <configSections>
    <section name="Lephone.Settings" type="Lephone.Core.Setting.NameValueSectionHandler, Lephone.Core"/>
  </configSections>

  <Lephone.Settings>
    <add key="AutoCreateTable" value="true"/>
    <add key="ObjectHandlerType" value="Reflection" />
    <add key="DataBase" value="@Access : @~App_Data\cms.mdb"/>
  </Lephone.Settings>

 

转载于:https://www.cnblogs.com/kaixiangbb/archive/2013/04/22/3036747.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DbEntry.Net是作者(梁利锋)设计的一个轻量级的 .Net ORM (Object Relational Mapping) 数据访问及 WEB 框架。对于 ORM 和 Sql 调用,它都拥有清晰和易用的 接口,目前支持 SqlServer、SQLite、MySql、Access、Firebird、Oracle 等数据库。对于 WEB 开发,它既支持 ASP.NET 2.0 的 DataSource 方 式,也支持 Ruby On Rails 风格的 MVC 方式。   目前,数据库部分已经支持多主键、多表联合查询、快速分页集合、 隐式数据库事务、连贯API查询、ActiveRecord风格查询、动态对象、部 分保存、自动创建数据表、一对一、一对多、多对多关系等功能,具体 实现请参阅 Samples 中的例子程序和单元测试的内容。   而 DataSource 部分,因为绑定数据访问组件,所以可以只需要修 改配置文件,不需要修改任何代码的在不同的数据之间切换。另外,还支 持按命名约定的方式绑定“新建”和“编辑”页面的控件,以最少的代码 完成输入、验证、保存等一系列操作。   Rails 风格的 MVC 框架目前已经完成 MVC 部分,脚手架,基类中 的 LinkTo、UrlTo 等快捷函数,Http Get 支持等。目前脚手架部分没有 数据验证模块,不过,自己写的 MVC 代码可以自行实现验证。   这个版本中,例子程序访问的数据库主要是 Access,而单元测试使 用的数据库是 SQLite,通过修改配置文件中数据源部分,可以使之不需 要重新编译即可工作于其它数据库上。配置部分通过 App.config 进行, 请参阅 Samples 中的例子程序中的 App.config 和 UnitTest 项目内嵌 的配置文件 UnitTest.config.xml 。   作者在 MS Sql Server 2000、MS Sql Server 2005 Express、 MS Access 2003、MySql 5.0、SQLite 3、Firebird 2.0.3 和 Oracle 10g Express 上测试过本组件。   v0.33 版比较大的改变为:   ·支持移除一对多、多对多关系   ·支持 Firebird、Oracle   ·增加缓存系统   ·支持 SoftDelete、CreatedOn、UpdatedOn   ·支持 ASP.NET 2.0 Membership 系统   ·DataSource 支持“新建”和“编辑”页面   ·Rails 风格 MVC 框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值