【问题标题】:(C#) What is an entity?(C#) 什么是实体?
【发布时间】:2018-01-03 09:09:09
【问题描述】:

我尝试阅读 C# ECMA 以找出 entity 是什么但失败了。 这是类的实例吗? 还是类型+成员? 或者代码中没有显示红色波浪线的任何单个单词?

【问题讨论】:

  • 一个不完美但更简单的开始是:实体是一个类(代表一个 db 表),具有属性(代表 db 列)。当你实例化类时,你从实体中创建一个对象,你可以在内存中执行操作。如果我们谈论的是实体框架,它基本上会公开/为您提供实体对象上的方法和属性,因此我们可以像在 ado.net 中那样编写更少的代码。

标签: c# entity


【解决方案1】:

实体是一种语义,即与语言或逻辑中的含义有关。实体是本身存在的东西,实际上或潜在地,具体或抽象地,物理或不存在。它不必是物质存在的。

实体通常指的是具有独特而独立存在的东西,任何真正的东西。 在软件开发中,这个词几乎只用于表示一个实例与另一个实例不同,并且它们彼此独立。

另一方面,类定义或包含对象的定义。一旦根据定义构造了该对象,您就会得到您的实例或对象实例。

希望对你有所帮助;)

【讨论】:

    【解决方案2】:

    在 C# 中,entity 通常与表的数据库表示相关,应该包含一个 Id 属性。

    【讨论】:

    • 并非如此。 CaseFile 将是一个实体,但它可能包含来自数十个表、人员表、地址表、设施表、索赔表等的数据。它会有一个索赔列表,每个都有一个提供和计费的服务列表,也许初级保健医生列表,包括开始日期和结束日期等。实体或在本例中为 casefile,不关心底层数据库的外观,它有自己的结构。
    【解决方案3】:

    通常,实体是存在的单位,存在的或真实的事物。可以具有属性的东西,可以将其与具有相似特征的另一个单元区分开来。

    我有一张桌子,你有一张桌子。如果我足够详细地描述我的桌子,那么在某些时候就可以将我的桌子与你的桌子区分开来。

    在面向对象的编程中,一个实体对应一个对象实例。在数据建模中,它对应于一个数据单元,而不是必须有物理存在的东西。

    【讨论】:

      【解决方案4】:

      我认为他们在最广泛的意义上使用它
      实体: 具有真实或独特存在的东西;一个事物,尤其是当被认为独立于其他事物时
      所以一个实体可以是类的实例类型+成员 视情况而定。

      假设您在谈论类定义,如果两个类可以“被视为独立”(具有不同的命名空间),他们将称之为实体。

      如果您正在谈论某种业务逻辑,您可能会使用“实体”一词来表示所有具有相同 Id 值的对象,这些对象存储在内存属性或数据库中。

      基本上,如果您可以拥有一个函数areTheSame(x,y)=>[true,false],并且该函数对所有可能的 x 和 y 的结果都可以是 false,那么您可以将该 x 或 y 称为实体。

      【讨论】:

        【解决方案5】:

        在更广泛的背景下,实体只是存在的“某物”。

        在 C# ECMA 中,实体是您所指事物的占位符。

        如果您引用从类创建的实体,这可能是一个实例。或者例如以下部分以下列方式定义了一个范围

        名称的范围是程序文本的区域,在该区域内可以引用由名称声明的实体而无需名称的限定。

        所以要访问给定的东西(实体),您需要引用范围来引用它。这可以是一个类、一个实例、一个静态方法或其他。

        【讨论】:

          【解决方案6】:

          实际上在 CRUD Web 应用程序领域内,实体只是数据库表的类表示。

          假设您有一个 Web 应用程序,该应用程序由一个包含三个表的数据库组成,每个表都有许多属性:

          1. 表 1:用户

            • 姓名
            • 姓氏
            • ID_Number
          2. 表 2:地址

            • 住宅地址
            • 邮政地址
          3. 表 3:首选项

            • 食物
            • 颜色

          如果您想在您的网络应用程序中使用这个数据库,您需要创建三个如下所示的实体。

           public class User
           {
              public string Name { get; set; }
              public string Surname { get; set; }
              public string IDNumber { get; set; }
           }
          
           public class Address
           {
              public string ResidentialAddress{ get; set; }
              public string PostalAddress{ get; set; }
           }
          
           public class Preferences
           {
              public string Food{ get; set; }
              public string Color{ get; set; }
           }
          

          在大量 C# Web 项目中,如果您处理数据库,您的项目可能会有一个名为“entities”的文件夹,其中包含名为实体的类,就像上面显示的示例一样。

          以上内容需要相当多的限定条件,并且很大程度上取决于您使用的框架,但以上是对实体最常见的实际解释。

          【讨论】:

            猜你喜欢
            • 2011-02-16
            • 2012-06-05
            • 2012-04-04
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-04-28
            相关资源
            最近更新 更多