【问题标题】:Using entity framework with Stored procedures and unnamed columns将实体框架与存储过程和未命名列一起使用
【发布时间】:2011-11-28 18:46:22
【问题描述】:

我在这里尝试使用存储过程中具有未命名列的实体框架。

比如说下面的 SP:

CREATE PROCEDURE [dbo].[GetUsers]
AS
BEGIN

    SELECT 
        Username, 
        Firstname + ' ' + Lastname
    FROM
        dbo.users

END
GO

通常,如果我在实体框架中创建映射,我会在创建的复杂对象中创建 2 列(用户名和列 1)。

这里的问题是我尝试使用 POCOs 而不是自动生成的复杂对象。

对于命名列,反射完成了这项工作。但是当我包含连接列时,它没有映射数据。是否可以以任何方式将其映射到现有的 POCO [例如,将 Username 和 Fullname 作为现有属性] ? (属性、向导或其他?)

【问题讨论】:

  • 最佳解决方案:为“计算”列赋予列别名,您的所有问题都会消失!

标签: entity-framework stored-procedures .net-4.0 entity-framework-4


【解决方案1】:

如果您使用正确的模板,自动生成的对象仍然是 POCO,因此您可以将过程映射为函数导入并使用复杂类型。否则使用@marc_s 的建议并给每个计算列别名:

SELECT 
    Username, 
    Firstname + ' ' + Lastname AS FullName
FROM
    dbo.users

【讨论】:

  • 这里的问题是我们不拥有数据库,因此无法进行任何更改。我今天创建了一个与复杂生成对象具有相同属性的对象,但我无法在编辑函数导入对话框的“复杂”或“实体”下拉列表中选择它...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 2012-04-13
相关资源
最近更新 更多