gpt4 book ai didi

c# - 如何使用 EF 在 ASP.NET MVC 中自动创建数据库和存储库?

转载 作者:太空狗 更新时间:2023-10-29 19:39:42 26 4
gpt4 key购买 nike

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

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

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

最佳答案

关于如何执行此操作,有很多很好的教程。这个,例如:

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 就可以提供数据库支持的关系。

祝你好运。

关于c# - 如何使用 EF 在 ASP.NET MVC 中自动创建数据库和存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9729029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com