(C#) 什么是实体?

(C#) What is an entity?

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

实体是一种语义,即与语言或逻辑中的意义有关。实体是自身存在的东西,无论是实际存在的还是潜在的,具体的还是抽象的,物理的还是非物理的。它不需要 material 存在。

实体通常指的是具有独特和独立存在的事物,任何真正意义上的事物。 在软件开发中,这个词几乎只用来表示一个实例不同于另一个实例,它们是相互独立的。

A​​ class 另一方面,定义或包含对象的定义。一旦根据定义构造了该对象,那么您将获得您的实例或对象实例。

希望对您有所帮助 ;)

更广泛的环境中的实体只是存在的"something"。

在 C# ECMA 中,实体是您引用的内容的占位符。

如果您引用从 class 创建的实体,这可能是一个实例。或者例如,以下部分通过以下方式定义了 scope

The scope of a name is the region of program text within which it is possible to refer to the entity declared by the name without qualification of the name.

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

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

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

我有一个table,你有一个table。如果我足够详细地描述我的 table,那么在某些时候就可以区分我的 table 和你的。

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

我认为他们使用的是最广泛的含义
实体: 具有真实或独特存在的东西;一个事物,尤其是当被认为独立于其他事物时
因此实体可以是 classtypes+members 的实例 视上下文而定。

假设您正在谈论 class 定义,如果两个 class 可以是 "considered as independent"(具有不同的命名空间),他们将称其为实体。

如果您谈论的是某种业务逻辑,您可以使用 "Entity" 词来表示内存中 属性 或数据库中存储的具有相同 ID 值的所有对象。

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

实际上在 CRUD 网络应用程序领域内,实体只是 class 数据库的表示 table。

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

  1. Table 1: 用户

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

    • Residential_address
    • 邮政地址
  3. Table 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”的文件夹,它会包含 classes 称为实体,就像上面的示例一样.

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