跟我學MVC系列(Repository模式、LINQ、EF、IOC架構Castle、JQuery、AJAX)(一)資料庫建模

來源:互聯網
上載者:User
跟我學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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.