惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
Jina AI
Jina AI
C
Check Point Blog
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
GbyAI
GbyAI
Last Week in AI
Last Week in AI
罗磊的独立博客
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
The Cloudflare Blog
M
MIT News - Artificial intelligence
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
J
Java Code Geeks
WordPress大学
WordPress大学
博客园 - 聂微东
月光博客
月光博客
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog

博客园 - 破孩

C#中Invoke的用法(转) C# 中委托 Eclipse安装ADT Plugin时发生错误,提示连接不到 https://dl-ssl.google.com/android/eclipse/...的解决办法! 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(五)Models(ORM、Repository模式、分页) 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(四)Models(ORM、Repository模式、分页) 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(三)Models(ORM、Repository模式、分页) 跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(二)Models(ORM) .NET 中的 委托与事件 (转) 委托、事件与Observer设计模式 设计模式(转) 设计模式概述(转) C#面试基础问题 (转) C#的抽象类和方法,重载,覆盖,隐藏 学习asp.net比较完整的流程 经典C#面试题集锦(仔细分析,会学到更多) C#中的运行时类型与编译时类型收藏(转) 简化理解回调函数- - 简化理解回调函数- - 想成为最牛程序员吗?以下几点有助你实现这个目标。
跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、J...
破孩 · 2009-09-01 · via 博客园 - 破孩

跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(二)Models(ORM)
跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(三)Models(ORM、Repository模式、分页)

好久没有更新拉,整天在博客园里混,没有一点自己的东西,老是有点心虚。实际上,想写点东西的想法我每天都有,只是种种原因(其实就是懒惰)给耽搁了。今天,我终于痛定思痛,痛改前非,实实在在的写些东西出来,就是在做项目中学习到的一些东西,系统地给整理一下,算作是一个知识管理吧。当然如果能对您的工作或学习有所帮助,那就是我莫大的欣慰了。由于小弟才疏学浅,在卧虎藏龙的园子里有班门弄斧的嫌疑,列位看官,见笑拉。


由于公司的项目保密性,不能拿出来分享,我就自己写一个网络记账的小软件,中间涉及到我做项目中用到的Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX等技术。小弟我是现学现用,肯定有很多败笔之处,欢迎批评指正。
这些例子暂时就称作《破孩网络记账本》吧。
功能:
1.用户登录后显示最近记账列表
2.用户可以随时记账(时间、账目类型、收入OR支出、金额、地点、内容等)
3.智能搜索
4.各种统计
5.能够到处EXCEL表格
功能比较简单,用例图就不画啦,直接设计数据库。
现在我们直接进行数据库建模,建模工具是EA,
数据库模型图:


Users:用户表
Accounts:账目表
AccountsTypes:账目类型表(衣食住行等)
接下来开始建立数据库:
数据库采用SQL SERVER 2000
数据库名称:PBAccount

SQL语句:


CREATE TABLE [Accounts] (
    
[AccountID] [uniqueidentifier] NOT NULL ,
    
[UserID] [uniqueidentifier] NOT NULL ,
    
[InOrOut] [bit] NOT NULL ,
    
[Amount] [float] NOT NULL ,
    
[TypeID] [uniqueidentifier] NOT NULL ,
    
[Time] [datetime] NOT NULL ,
    
[Status] [int] NOT NULL ,
    
[Detail] [image] NULL ,
    
CONSTRAINT [PK_Accounts] PRIMARY KEY  CLUSTERED 
    (
        
[AccountID]
    )  
ON [PRIMARY] ,
    
CONSTRAINT [FK_Accounts_AccountTypes] FOREIGN KEY 
    (
        
[TypeID]
    ) 
REFERENCES [AccountTypes] (
        
[AccountTypeID]
    ),
    
CONSTRAINT [FK_Accounts_Users] FOREIGN KEY 
    (
        
[UserID]
    ) 
REFERENCES [Users] (
        
[UserID]
    )
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GOCREATE TABLE [AccountTypes] (
    
[AccountTypeID] [uniqueidentifier] NOT NULL ,
    
[AccountTypeName] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    
CONSTRAINT [PK_AccountTypes] PRIMARY KEY  CLUSTERED 
    (
        
[AccountTypeID]
    )  
ON [PRIMARY] 
ON [PRIMARY]
GOCREATE TABLE [Users] (
    
[UserID] [uniqueidentifier] NOT NULL ,
    
[LoginName] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    
[Name] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
    
[Sex] [bit] NULL ,
    
[BirthDay] [datetime] NULL ,
    
[Profession] [char] (10) COLLATE Chinese_PRC_CI_AS NULL ,
    
[Role] [int] NULL ,
    
CONSTRAINT [PK_Users] PRIMARY KEY  CLUSTERED 
    (
        
[UserID]
    )  
ON [PRIMARY] 
ON [PRIMARY]
GO

注意:一个要设置好各表之间的关系,只有这个才能自动生成正确的ORM,如下图:



OK,数据库设计已经完成,下篇我们接着探讨EF,LINQ和Resposity模式的应用。
注:请安装VS2008 SP1,ASP.NET MVC1.0 下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyID=53289097-73ce-43bf-b6a6-35e00103cb4b&displaylang=en