与asp-netmvc应用程序一起使用的实体框架术语



好的,我尝试了一些entity frameworkASP 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,我会找到患者,并将其显示在视图中。

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

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

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

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

  3. 在上面的代码中,visual studio 2012在Find方法的鼠标悬停上显示其签名为"Patient DbSet.Find(params object[]keyValues).

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

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

  5. Find方法签名包含关键字params。所以,有可能将多个对象传递给它。有传递multiple primary keys的例子吗?

1"实体"一词的确切用途是什么?它是模型类的表示形式吗

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

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

上下文表示您的数据库。映射的每个表在上下文中都有自己的DbSet<T>,您可以通过它进行查询

3/4-在上面的代码中,visual studio 2012在Find方法的鼠标上方显示其签名为"Patient DbSet.Find(params object[]keyValues)"。

存储是指实际的数据库。Find文档试图说明的是,如果与传递的密钥相对应的对象已经存在于ObjectStateManager中,也就是说,如果它已经被以前的查询检索到,那么Entity Framework不会往返于服务器以再次获取相同的对象。

Find方法签名包含关键字params。所以,有可能将多个对象传递给它。有没有传递多个主键的例子

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

"实体"一词的确切含义是什么?它是模型类的表示形式吗?

不,实体是数据库实体。通常不赞成将数据库模型用作视图模型。

DbContext类中的术语Context。你将如何定义它?

数据库上下文。表的集合。

商店在上面的描述中指的是什么?

数据库。

Find方法签名包含关键字params。所以,有可能将多个对象传递给它。有没有传递多个主键的例子?

上面写着:

查找具有给定主键值的实体

一个实体可以有一个复合主键。


你为什么不找一本关于MVC或实体框架的好书来更好地理解这个主题呢?:-)请尝试展示更多的研究成果。

最新更新