分享

跟我学MVC系列(Repository模式、LINQ、EF、IOC框架Castle、JQuery、AJAX)(一)数据库建模

 软件技术与教学 2014-06-15
跟我学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]
GO

CREATE 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]
GO

CREATE 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





    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多