【问题标题】:How do I use EF to automatically create a database and repository in ASP.NET MVC?如何使用 EF 在 ASP.NET MVC 中自动创建数据库和存储库?
【发布时间】:2012-04-01 12:14:16
【问题描述】:

我已经开始学习 ASP.NET MVC,在学习的这段时间我想创建一个简单的博客网站。我决定使用 ASP.NET MVC 和 ORM 实体框架。可能你有一些关于这个主题的有用链接? 我尝试先从创建模型代码开始。 我有 3 个类 Post、User(用户可以是管理员)、Comments。

我需要帮助来建立数据库模型之间的关系。我现在有这样的代码:

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 是否正确?我从来没有深入使用过数据库,只是看了几节课。有人可以建议如何制作存储库或更正我的模型代码吗? 非常感谢!

【问题讨论】:

  • 你读过代码优先教程吗?
  • +1 - 欢迎来到 StackOverflow :o)

标签: c# asp.net asp.net-mvc database entity-framework


【解决方案1】:

有很多关于如何做到这一点的好教程。比如这个:

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&lt;Post&gt;List&lt;Comment&gt; 字段设为虚拟;这样 EF 可以提供数据库支持的关系。

祝你好运。

【讨论】:

  • 你好,Ethan!我已经看过这个教程,但不是全部。
  • 在我已经设置的容器和 ID 旁边。您是否发现有问题或者您可能有一些正确的建议?我可以开始使用 SQL 数据库服务器创建数据库吗?我的存储库呢?我有只写了 3 个方法,返回每个类的集合
【解决方案2】:

我喜欢Building an MVC 3 App with Code First and Entity Framework 4.1 教程。包括一个我觉得很容易理解的视频。

【讨论】:

    猜你喜欢
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 2018-05-04
    • 2013-06-05
    相关资源
    最近更新 更多