我们遇到了一个场景,我们需要能够在 esql 语句的结果中将实体类型的名称作为值返回。
问题是,我们有一个通用的帮助器,它构建并运行一个 esql 语句以返回一个结果,该结果被传递到 MVC3 应用程序的 SelectList 中。
文本列是从添加到模型属性的属性中提取的表达式。
因此,例如,如果我们希望下拉列表将人名列为 Last,首先我们添加一个带有如下表达式的属性:'it.[LastName] + ", " + it.[FirstName]' 这会产生如下语句:
SELECT it.[Id] AS Id, it.[LastName] + ", " + it.[FirstName] AS Name
FROM OfType([AuditedObject], [User]) AS it
我们遇到了一个场景,涉及使用 TPT 的 EF4.3 中的抽象类型。我们需要使用这个辅助方法枚举派生实体。当我们只需要这样的基本数据时,该方法会很好地枚举并返回所有派生实体:
SELECT it.[Id] AS Id, it.[Name] AS Name
FROM OfType([AuditedObject], [DatumObject]) AS it
但是我们需要一种方法来指示每个实体是什么类型。像这样的伪代码:
SELECT it.[Id] AS Id, it.GetType().Name + " - " + it.[Name] AS Name
FROM OfType([AuditedObject], [DatumObject]) AS it
有谁知道我如何做到这一点?