【问题标题】:How do I get an arbitrary entity stored in the context with Entity Framework?如何使用 Entity Framework 获取存储在上下文中的任意实体?
【发布时间】:2015-07-16 23:22:14
【问题描述】:

我正在使用实体框架。我只需要从上下文中获取任意实体,这样我就可以使用反射来查看它的属性。我不需要任何特定的实体,任意一个都可以。我的电话应该是这样的:

Entity oldEntity = (Entity)_context.Set(newEntity.GetType()).

有些方法应该放在最后一个 .但我没有看到任何可行的方法(find 是我最好的选择,但我不能使用它,因为我不知道任何实体的 ID)。

编辑:

我忘了说我传入的 newEntity 是用 CodeDom 类生成的,所以 newEntity 会和上下文中的实体相同,但它可能有不同的属性,这就是为什么我要举个例子“旧”实体来比较其属性。为了澄清这一点,假设我已经存储了一个带有属性的 Person 实体:

  • 名字
  • 姓氏

然后我想添加一个新属性,比如说年龄。我这样做的方法是使用 CodeDom 生成一个新的 Person 实体类,并将 Age 作为附加属性。我已经更新了磁盘上的实体类,所以我可以使用额外的字段创建一个新实体,但是我的 SQL 表没有更新。

【问题讨论】:

  • 它不会让我在编辑中添加更多内容。其余的都在这里:但是,我不知道添加了什么。我只有一个示例新实体,因此我需要将其属性与示例“旧版本”实体的属性进行比较,这就是我需要获取示例旧实体的原因。

标签: c# entity-framework


【解决方案1】:

您不需要一个类的实际实例来查看它的属性。

你可以像typeof(Entity).GetProperties()一样使用typeof(...)

【讨论】:

  • 对不起,我忘了提一些重要的事情,请参阅我的编辑
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-13
  • 1970-01-01
  • 2022-01-19
  • 2018-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多