- 浏览: 255553 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
上一篇一对多的关系说的不是很清楚,这篇补充一下。
这篇我们创建一个销售数据库,里面有两个表,一个是消费者表,也就是购买者表。 另一个是订单表。一个消费者有多个订单,一个订单只对应一个消费者。
step1: 创建数据库shopping
CREATE TABLE [dbo].[Buyer] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Birthday] [datetime] NULL ,
[Tel] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Order] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[Orderumber] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[Price] [money] NOT NULL ,
[CommitTime] [datetime] NOT NULL ,
[OrderStatus] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[UserID] [int] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Buyer] ADD
CONSTRAINT [PK_Buyer] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Order] ADD
CONSTRAINT [PK_Order] PRIMARY KEY CLUSTERED
(
[ID]
) ON [PRIMARY]
GO
step2:
(1)安装下载的Nbear组件下dist\SetupNBearVsPlugin.exe插件(可自动生成实体类)
(2)打开VS2005,新建一个空的解决方案,添加两个C#类库工程EntityDesigns和Entities,删除自动生成的class1.cs.
(3)添加一个website的网站项目。
(4)在Entities下添加Entities.cs, 在网站根目录下添加web.config文件和EntityConfig.xml文件.
(5)修改web.config文件
<configSections>
<section name="entityConfig" type="NBear.Common.EntityConfigurationSection, NBear.Common"/>
</configSections>
<entityConfig>
<includes>
<add key="Sample Entity Config" value="~/EntityConfig.xml"/>
</includes>
</entityConfig>
<appSettings/>
<connectionStrings>
<add name="DbName" connectionString="Server=WDS;Database=NBearDB;Uid=sa;Pwd=sa"
providerName="NBear.Data.SqlServer.SqlDbProvider"/>
</connectionStrings>(6)在EntityDesigns目录下添加EntityDesignToEntityConfig.xml文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<EntityDesignToEntityConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CompileMode>Debug</CompileMode>
<InputDllName>EntityDesigns.dll</InputDllName> //实体设计类
<OutputNamespace>Entities</OutputNamespace> //实体类
<OutputLanguage>C#</OutputLanguage> //输出语言
<!--<OutputCodeFileEncoding>utf-8</OutputCodeFileEncoding>-->
<EntityCodePath>..\Entities\Entities.cs</EntityCodePath> //实体类文件
<EntityConfigPath>..\website\EntityConfig.xml</EntityConfigPath>
<SqlSync enable="false"> //更改实体时,是否同步更新数据库,建议设为false,否则将清空现有数据库的数据
<SqlServerFolder>C:\Program Files\Microsoft SQL Server\80\Tools\Binn</SqlServerFolder>
<ServerName>WDS</ServerName>
<UserID>sa</UserID>
<Password>sa</Password>
<DatabaseName>Shopping</DatabaseName>
</SqlSync>
</EntityDesignToEntityConfiguration>(7)在EntityDesigns目录下添加EntityDesigns.cs
(8)打开下载的Nbear组件下dist\NBear.Tools.DbToEntityDesign.exe程序 ,设置连接字符串,我的是这样:
Server=WDS;Database=Shopping;Uid=sa;Pwd=sa 点击connect, 选择要生成的表,点击Generate Entities Design.将会得到下面的代码:
生成实体如下
public interface Buyer : Entity
{
[PrimaryKey]
int ID { get; }
[SqlType("nvarchar(50)")]
string Name { get; set; }
DateTime? Birthday { get; set; }
[SqlType("nvarchar(50)")]
string Tel { get; set; }
}
public interface Order : Entity
{
[PrimaryKey]
int ID { get; }
[SqlType("nvarchar(50)")]
string Orderumber { get; set; }
decimal Price { get; set; }
DateTime CommitTime { get; set; }
[SqlType("nvarchar(50)")]
string OrderStatus { get; set; }
int UserID { get; set; }
}
我们有两种方法实现关联,
第一种:
第二种:我们也可以不加[MappingName("UserID")],但我们需要把数据库Order表的UserID字段改为Bperson_ID.
(9)编译EntityDesigns工程,编译成功,刚才添加Entities.cs,EntityConfig.xml文件将被自动填入正确的内容。
(10)为Entities工程引用NBear.Common,然后编译Entities工程。
(11)为WebSite添加Entities项目编译后的Entities.dll.再引用NBear.Data
(12)开始使用设计好的实体。
添加购买者记录:
添加Order记录(假定订单的主人ID为1)
得到订单主人ID为1的所有订单:
得到订单的主人
注: 本人也是刚开始学习NBear,把自己学习笔记记录下来。不知道是否理解正确,如果不对欢迎指出。
发表评论
-
ASP.Net2.0使用Log4Net(一)
2007-11-24 15:40 1695第一种方法 在web.config中写配置文件 L ... -
ASP.Net2.0使用Log4Net(二)
2007-11-24 17:39 930(二)使用单独的配置文件,不放在web.config里 1. ... -
UML学习笔记
2007-11-25 09:55 710一、UML中的关系 依赖: 如果对象X发生变化,引起另一个对 ... -
NBear学习笔记(一)
2007-12-01 21:14 1132使用已有数据库。(之前先设计实体,再自动生成数据库,发现每次 ... -
NBear学习笔记(二)
2007-12-02 17:14 849本篇演示一对多关系,和两个表联合查询。 使用已有数据库,我们演 ... -
CSS使用总结
2007-12-12 21:10 664在分配ID和类名时,尽可能保持与表现形式无关,例如con ... -
ASP.NET2.0缓存技术
2007-12-12 23:33 717ASP.NET2.0提供如下缓存方式: Output Cac ... -
VS2008正式版创建silverlight项目失败的解决办法
2008-02-16 09:49 845安装microsoft express blend2 最新的试 ... -
vista英文版语言包安装
2008-02-17 21:35 1122最近,需要给老外截英文vista的一些图,但是系统装的是中文版 ... -
SilverLight显示中文字(一)
2008-02-18 14:42 968我们知道silverlight只提供了一下几种字体, 当我们 ... -
silverlight显示中文字(二):使用TextBlock+Downloader
2008-02-18 16:39 977(一),建立一个Silverlight1.0 site. ... -
SilverLight显示中文字(三) :使用Path和图形
2008-02-18 16:59 694使用path将文字转换为路径 用Direct select ... -
在Silverlight1.1中定义与调用Javascript事件的方法
2008-02-20 13:19 711我们在silverlight1.0 想调用javascrip ... -
在线流程图制作工具
2008-02-26 22:32 12781. DrawAnywhere , 的在线流程图制作工具。 D ... -
VS2008下开发ASP.Net2.0 and AJAX1.0的程序
2008-03-05 13:57 1062为什么要在vs2008下开发ASP.Net2.0 and AJ ... -
VS2008开发Silverlight2程序:环境安装
2008-03-06 13:36 1682微软在MIX08大会,发布了Silverlight 2 Bet ... -
ASP.NET 2.0 XML 系列(1): XML介绍
2008-03-15 12:40 7341.1 简介 XML的一个强大之处在于它的强大可扩展性。XM ... -
ASP.NET 2.0 XML 系列(2): XML技术
2008-03-15 14:13 7041. DTD XML最强大之处是允许自定义标签,但是对 ... -
ASP.NET 2.0 XML 系列(3): .Net Framework中XML类
2008-03-15 14:52 622System.Xml包含了一些和XML文档的读写操作相关的类, ... -
ASP.NET 2.0 XML 系列(4):用XmlReader类介绍
2008-03-15 16:02 1353(本文摘自MSDN) XmlReader 类是一个提供 ...
相关推荐
NBear是.NET平台上的一个高性能、轻量级的ORM(对象关系映射)框架,它在.NET编程领域中被广泛使用。NBear2.5.0版本是该框架的一个重要迭代,提供了许多新特性和改进,旨在提升开发效率并优化数据库操作性能。 首先...
ASP.NET框架:NBear是一个高性能、轻量级的.NET数据访问技术,主要目的是简化数据库操作,提高开发效率。NBear是基于.NET Framework构建的,它提供了面向对象的接口,允许开发者以更直观的方式进行数据库交互,同时...
标题中的“NBear访问多个数据库”指的是使用NBear框架在应用程序中实现对多个数据库的并发访问。NBear是一个开源的.NET ORM(对象关系映射)框架,它提供了一种高效、灵活的方式来操作数据库,而无需编写大量的SQL...
** 请修改扩展名为ZIP Nbear V3.7.2源代码 类库 VS插件等
**Nbear ORM 开源框架详解** NBear ORM(Object-Relational Mapping)是一个高效、灵活且功能强大的.NET数据访问框架,旨在简化.NET开发者与数据库之间的交互。它通过提供对象关系映射功能,使得开发人员可以使用...
而".swf"文件可能是相关的演示或教程视频,通过视觉展示帮助用户更好地理解和学习使用NBear模板的过程。 总的来说,NBear项目模板是一个强大的工具,它简化了.NET项目的初始构建步骤,使开发者能够更快地投入到实际...
Nbear使用手册(版本: 2.4.1)
《NBear框架详解——以nbear_petshop.1.0.0为例》 NBear框架,作为一款基于C#语言的高性能、轻量...通过对这个项目的深入学习,开发者不仅可以掌握NBear的基本用法,还能进一步理解ORM在实际项目中的价值和应用技巧。
NBear原名Ilungasoft Framework,是主要有Teddy开发的一个基于.Net 2.0 (C# 2.0, ASP.NET 2.0)的快速开发框架,她将使您基于.Net 2.0的web/winform/distributed开发变得异常高效、性能卓越。
学习NBear首先需要理解ORM的基本概念,然后通过官方文档学习其API和用法。对于初学者,可以从简单的CRUD操作开始,逐步掌握高级特性和最佳实践。同时,案例代码是理解和应用NBear的关键,通过分析和运行这些案例,...
《NBear中文帮助手册》是针对NBear框架的详尽指南,它涵盖了NBear的核心功能和使用方法。NBear是一个全面的.NET开发框架,旨在提供高效、便捷的数据持久化、序列化以及服务处理能力,特别适合ASP.NET开发环境。下面...
4. **多层架构**:通常,BBS系统会采用典型的三层架构,包括表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。NBear在BBS系统中可能扮演了数据访问层的角色,负责与数据库交互。 5. **安全性**:源码中可能会...
开发者可以通过分析这个文件,学习如何配置NBear以连接数据库,如何定义实体类来映射数据库表,以及如何使用NBear的API进行数据操作。 总的来说,NBear+Anthem的应用案例提供了一个实战的学习平台,展示了这两个...
- **学习与定制**:提供源代码意味着用户可以深入了解NBear的内部实现,对于优化性能或根据特定需求进行定制非常有帮助。 - **调试与问题解决**:遇到问题时,可以直接查看源代码,有助于快速定位和解决问题。 3....
源码分析和学习"ASP.NET-[论坛社区]NBBear+NBBear开发BBS系统源码_nbearbbs.rar",可以帮助开发者深入了解ASP.NET和NBear的结合使用,理解如何在实际项目中应用ORM框架,提高开发效率,同时也可以学习到论坛系统的...
NBear是一款专为.NET 2.0和C#2.0设计的开源软件开发框架,其核心目的是简化开发流程,提高开发效率,并确保系统具备良好的性能和可扩展性。NBear不仅提供了丰富的类库,还开放了全部源代码,允许开发者深入理解其...
总之,NBear是一款强大的ORM工具,尽管在某些特定情况下可能存在一定的学习曲线,但其性能和灵活性使其成为ASP.NET开发中的有力选择。通过深入理解和熟练运用NBear,开发者可以提升开发效率,减少对数据库底层操作的...
最新的Nbear教程,另你可以1天之内学会Nbear。
8. **文档与社区**:开源项目往往有详细的文档和活跃的社区支持,用户可以从中学习和寻求帮助。 对于想要使用或研究NBear框架的开发者来说,深入了解这些知识点,结合官方文档、博客文章(如博文链接给出的ITEYE...
【标题】中的“ASP.NET源码——[论坛社区]NBear+NBear开发BBS系统源码.zip”表明这是一个基于ASP.NET技术构建的论坛社区系统,其开发过程中使用了NBear作为数据访问层的框架。NBear是.NET平台上的一款开源ORM(对象...