Как использовать EF для автоматического создания базы данных и хранилища в ASP.NET MVC? - PullRequest
8 голосов
/ 16 марта 2012

Я начал изучать ASP.NET MVC, и на данный момент я хочу создать простой блог-сайт.Я решил использовать ASP.NET MVC и ORM Entity Framework.Возможно, у вас есть полезные ссылки на эту тему?Я попытался начать с создания кода модели в первую очередь.У меня есть 3 класса Post, User (Пользователь может быть администратором), Комментарии.

Пожалуйста, мне нужна помощь, чтобы установить отношения между моделями базы данных.У меня есть код, подобный этому прямо сейчас:

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

Это мои классы для создания таблиц базы данных, но я не уверен, как создать отношения типа многие к одному.Правильно ли составить список комментариев для поста или просто написать int CommentID ??Я никогда не использовал базу данных очень глубоко, просто увидел несколько уроков.Может кто-нибудь посоветовать, как сделать репозиторий или исправить мой код модели?Большое спасибо!

Ответы [ 2 ]

4 голосов
/ 16 марта 2012

Существует множество хороших руководств о том, как это сделать. Вот этот, например:

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 может предоставлять поддерживаемые базой данных отношения.

Удачи.

2 голосов
/ 16 марта 2012

Мне понравилось Создание приложения MVC 3 с Code First и Entity Framework 4.1 учебник. Включает видео, которое мне показалось очень простым для просмотра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...