2012-03-15 92 views
8

我已經開始學習ASP.NET MVC,並且在這個時候學習我想創建簡單的博客網站。我決定使用ASP.NET MVC和ORM實體框架。可能你有這個主題的一些有用的鏈接? 我試着從創建Model代碼開始。 我有3班發佈,用戶(用戶可以是管理員),評論。如何使用EF在ASP.NET MVC中自動創建數據庫和存儲庫?

請幫助我建立數據庫模型之間的關係。我有這樣的代碼,現在這一權利:

public class Post 
{ 
    public int PostId { get; set; } 
    public string Title { get; set; } 
    public string Content { get; set; } 
    public List<Comment> Comments { get; set; } 
    public DateTime PublishDate { get; set; } 
} 

public class User 
{ 
    public readonly bool IsAdmin { get; set; } 
    public string FirstName { get; set; } 
    public string SecondName { get; set; } 
    public string Email { get; set; } 
    public string Password { get; set; } 
    public DateTime DateOfBirthday { get; set; } 
    public string Country { get; set; } 
    public string City { get; set; } 
    public List<Post> Posts { get; set; } 
    public List<Comment> Comments { get; set; } 
} 

public class Comment 
{ 
    public int CommentId { get; set; } 
    public string UserName { get; set; } 
    public string Content { get; set; } 
    public DateTime PublishDate { get; set; } 
} 

這些都是我的類來創建數據庫表,但我不知道如何讓像許多一對一的關係。 爲Post創建評論列表還是隻寫int CommentID?我從來沒有用過很深的數據庫,只是看了幾節課。有人可以建議如何使存儲庫或更正我的模型代碼? 非常感謝!

+0

你有沒有看過第一個教程的代碼? – 2012-03-15 22:21:25

+1

+1 - 歡迎來到StackOverflow:o) – Andrew 2012-03-15 22:35:13

+0

謝謝你安德魯! – BeginerDummy 2012-03-15 22:58:28

回答

4

有很多關於如何做到這一點的很好的教程。此舉一出,例如:

http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

爲了回答大家的一些問題,是的,這個名字CommentId是正確的;您希望存儲在數據庫中的每個EF類都必須具有名爲Id的字段或稱爲MyClassId的字段(其中「MyClass」是您的類的名稱)。我發現後者讓你的生活更輕鬆,尤其是在進行連接時。

除非您有一些EF無法自動計算的關係,否則您不必自己指定關係:EF會自動爲您檢測正確的關係。我在代碼中看不到EF無法自動處理的任何內容。

您需要做的一件事是使List<Post>List<Comment>字段變爲虛擬;這樣EF可以提供數據庫支持的關係。

祝你好運。

+0

HI再次Ethan!我已經啃過本教程,但不是全部。 – BeginerDummy 2012-03-15 22:32:24

+0

除了我已經設置的這些容器和ID之外。你是否發現有什麼問題或者你有一些正確的建議?我可以開始用SQL數據庫服務器創建數據庫嗎?我有什麼關於倉庫?我只寫了3個方法返回每一個類的集合 – BeginerDummy 2012-03-15 22:35:26