代码之家  ›  专栏  ›  技术社区  ›  Vyrotek

实体框架-能否将导入的存储过程的结果类型映射到自定义实体类型?

  •  1
  • Vyrotek  · 技术社区  · 18 年前

    我知道您可以使用LinqToSql中的自定义DataContext做一些非常接近的事情。问题是不能将列分配给复杂的属性类型。例如:我可能返回了一个包含用户地址的列。我想将用户的地址详细信息存储在一个地址对象中,该对象是一个用户对象的属性。所以,列STREET应该映射到User.Address.STREET。

    1 回复  |  直到 18 年前
        1
  •  1
  •   Craig Stuntz    18 年前

    这里有两个选择。

    1. 您可以创建一个“复杂类型”并将其映射到过程结果。但是,在EDMX中必须这样做;设计器不支持它。阅读 this article 详细情况。请注意,复杂类型不是实体类型 ,因此这可能适合也可能不适合您的需要。但是你可以找到 stored procs which use "Address" .

    2. 您可以将过程的可见性更改为private,然后在执行所需映射的任何手动编写的部分类文件中为其编写公共接口。或者只是程序过载。