2014-01-06 5 views
0

Я новичок в ASP.Net MVC и EF Code First. Я бы хотел создать профессиональный сайт для обмена музыкой. Но я боюсь, если я прав в Code First. Также я хочу использовать простое членство или любое другое членство, которое вы предлагаете, и я хочу использовать слоирование в своем решении. У меня должны быть следующие лица:Код Первые классы домена

namespace MusicSite.Models 
{ 
    public class Media 
    { 
     public int Id { get; set; } 
     public MediaType MediaType { get; set; } 
     public string FilePath { get; set; } 
     public string Title { get; set; } 
    } 
} 

namespace MusicSite.Models 
{ 
    public enum MediaType 
    { 
     MP3=1, 
     MusicVideo=2, 
     Photo=3 
    } 
} 

namespace MusicSite.Models 
{ 
    public class MP3:Media 
    { 
     public Artist Artist { get; set; } 
    } 
} 

namespace MusicSite.Models 
{ 
    public class Artist 
    { 
     public User User { get; set; } 
    } 
} 

namespace MusicSite.Models 
{ 
    public class User 
    { 
     public int Id { get; set; } 
     public string Username { get; set; } 
     public string Password { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
    } 
} 

Я не знаю, как связать эти сущности. Не могли бы вы помочь?

+1

Возможно, вы хотите сначала использовать базу данных? Это очень упрощает настройку модели, и вам не придется беспокоиться о настройке отношений. –

+0

есть расширение vs, может генерировать класс из базы данных exsit, также генерировать конфигурацию отношений, вы можете попробовать его и посмотреть, что сгенерировано, поэтому вы можете узнать, как настроить отношение http://visualstudiogallery.msdn.microsoft.com/72a60b14 -1581-4b9b-89f2-846072eff19d? SRC = VSIDE – chenZ

ответ

0

Start соотнося свои объекты в модели, например:

public class Media 
{ 
    public Artist Artist { get; set; } 
} 

public class Artist 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
} 

Если вы позволяете EF для создания базы данных на основе этой модели, вы увидите, что Media таблица будет содержать столбец с именем Artist_Id который является ссылкой на внешний ключ для таблицы Artist.

Если вы решили вместо того, чтобы создать вам базу данных параллельно (например, вручную), то вам нужно будет либо разработать базу данных, чтобы правильно воспользоваться EntityFramework Conventions, или использовать Data Annotations или EntityFramework Fluent Mappings ..

Мои рекомендация на данный момент - если вы действительно хотите начать разработку кода - будет создание классов и использование EF до generate the database.

Смежные вопросы