2012-03-15 8 views
8

ASP.NET MVC'yi öğrenmeye başladım ve şu anda basit bir blog sitesi oluşturmak istiyorum. ASP.NET MVC ve ORM Entity Framework kullanmaya karar verdim. Muhtemelen bu tema hakkında faydalı linkler var mı? Önce Model kodu oluşturmaya başladım. 3 sınıf Post, Kullanıcı (Kullanıcı admin olabilir), Yorumlar var.ASP.NET MVC'de otomatik olarak bir veritabanı ve depo oluşturmak için EF'i nasıl kullanırım?

Veritabanı modelleri arasındaki ilişkilerin yapılması için lütfen yardıma ihtiyacım var. Bunu şu anda gibi bir kod vardır:

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; } 
} 

Bu veritabanı tabloları oluşturmak için benim sınıfları vardır, ama birçok bire gibi ilişkileri yapmak nasıl emin değilim. Post için Yorum Listesi yapmak veya int yazmak yeterli midir CommentID ?? Veritabanını hiç kullanmam çok derin, sadece birkaç ders gördüm. Biri nasıl kodlama yapılacağını veya Model kodumu nasıl düzelteceğimi önerebilir mi? Çok teşekkür ederim!

+0

İlk öğreticilerin kodunu okudunuz mu? –

+1

+1 - StackOverflow'a hoş geldiniz: o) – Andrew

+0

Teşekkür ederiz Andrew! – BeginerDummy

cevap

4

Bunun nasıl yapılacağı konusunda pek çok iyi eğitici var. Örneğin bu bir,:

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

sizin bazı sorulara cevap için, evet, adı CommentId doğrudur; Veritabanında saklanmak istediğiniz her EF sınıfında, Id adı verilen alan veya MyClassId adlı bir alan ("Sınıfım" sınıfınızın adıdır) bulunmalıdır. Sonuncusu, özellikle de birleşme yaparken, hayatınızı kolaylaştırdığını buldum.

EF'in otomatik olarak çözemediği bazı ilişkileriniz olmadıkça, ilişkileri kendiniz belirtmeniz gerekmez: EF sizin için otomatik olarak doğru ilişkiyi algılar. Kodunuzda EF'in otomatik olarak işleyemeyeceği bir şey göremiyorum.

Yapmanız gereken tek şey, List<Post> ve List<Comment> alanlarını sanal yapmak; Bu şekilde EF veritabanı destekli ilişkiler sağlayabilir.

İyi şanslar.

+0

HI tekrar Ethan! Bu öğreticiyi çoktan okudum ama hepsi değil. – BeginerDummy

+0

Bu kapların ve ID'lerin yanına koyduğumun yanı sıra. Yanlış bir şey mi buluyorsunuz ya da muhtemelen doğru tavsiyeleriniz var mı? SQL Veritabanı sunucusu ile veritabanı oluşturmaya başlayabilir miyim? Ben de depodan ne haberim? Geriye sadece 3 yöntem yazdım. Her bir sınıfın bir koleksiyonu – BeginerDummy

İlgili konular