gpt4 book ai didi

c# - 与 ASP Net MVC 应用程序一起使用的 Entity Framework 术语

转载 作者:行者123 更新时间:2023-12-03 02:56:43 25 4
gpt4 key购买 nike

好的,我尝试了一些 Entity Framework ASP NET MVC并让它工作。万岁!

这是我编写的代码:

        public ActionResult Index([Bind(Prefix="id")] int patientId = 0)
{
Patient patient = db.Patients.Find(patientId);
if (patient == null)
{
return HttpNotFound();
}

return View(patient);
}

当有人输入 URL 时,此 action-method 会查询 Visual Studio 中的 localdb,然后我会获取患者,并将其显示在 View 中。

现在,是时候了解一些基础知识了。

虽然上面的一切都很好用,但我仍然很难习惯 MVC 大师在现实世界中使用的一些 MVC 术语。

  1. 术语Entity到底有什么用?它是模型类的表示吗?

  2. DbContext 类中的术语Context。您将如何定义它?

  3. 在上面的代码中,当鼠标悬停在 Find 方法上时,Visual Studio 2012 将其签名显示为“Patient DbSet.Find(params object[] keyValues)

    那里提供的方法描述还说“查找具有给定主键值的实体。如果上下文中存在具有给定主键值的实体,则立即返回该实体,而无需发出请求存储。

  4. 上面描述中的store指的是什么?

  5. Find 方法签名包含关键字params。因此,可以将多个对象传递给它。有传递多个主键的示例吗?

最佳答案

1 术语“实体”到底有何用途?它是模型类的表示吗?

实体通常指与数据库具有一对一关系的类。这是您的数据库模型类。模型有多种类型: View 模型、数据传输模型和实际数据库模型(通常称为实体)

2 - DbContext 类中的术语 Context。您将如何定义它?

上下文代表您的数据库。您所拥有的每个已映射的表都将拥有自己的 DbSet<T>在您可以查询它的上下文中。

3/4 - 在上面的代码中,当鼠标悬停在 Find 方法上时,Visual Studio 2012 将其签名显示为“Patient DbSet.Find(params object[] keyValues)。

Store指的是实际的数据库。什么是Find文档试图说的是,如果与传递的 key 对应的对象已经存在于ObjectStateManager中,也就是说,如果先前的查询已检索到该对象, Entity Framework 将不会往返服务器以再次获取同一对象。

Find 方法签名包含关键字 params。因此,可以将多个对象传递给它。有传递多个主键的示例吗?

当您有复合主键时,您将使用多个参数。

关于c# - 与 ASP Net MVC 应用程序一起使用的 Entity Framework 术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20495476/

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