gpt4 book ai didi

asp.net-mvc - MVC 模型中的数据库查询

转载 作者:行者123 更新时间:2023-12-04 14:16:31 25 4
gpt4 key购买 nike

在 MVC 项目中,如果我把 LINQ 查询 Model ,是不是违反了MVC模式?

namespace DocLibrary.Models
{
public class Author
{
private DocLibraryContext db = new DocLibraryContext();

[Key]
public Int32 AuthorId { get; set; }

[StringLength(20)]
public String Name { get; set; }

..

public string GetNameById(int AuthorId)
{
var query = from a in db.Author
where a.AuthorId == AuthorId
select a.Name;

return query.FirstOrDefault();
}


public Author GetAuthorById(int AuthorId)
{
var query = from a in db.Author
where a.AuthorId.Equals(AuthorId)
select a;

return query.FirstOrDefault();
}
}

或者我应该将这些方法( GetNameByIdGetAuthorById )移到 Controller 吗?

最佳答案

In a MVC project if I put LINQ queries in Model, is it against the MVC Pattern?



不,这并不违反 MVC 模式。模型中的数据库查询非常好。显然,应该明确区分传递给 View 的模型和 View 模型。 View 模型不应包含任何特定于数据库的内容。

Or should I move these methods (GetNameById, GetAuthorById) to Controller?



绝对不。 Controller 的职责不是查询数据库。 Controller 的职责是与模型对话,构建 View 模型并将此 View 模型传递给 View 。 Controller 甚至不应该知道数据库是什么。

关于asp.net-mvc - MVC 模型中的数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425990/

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