当我需要在实体框架中使用复杂类型时?或换句话说,用于什么的复杂类型?
由于
答案 0 :(得分:10)
在EF4中,它主要用于存储过程的返回值,这些值与模型中的现有实体不完全匹配。有关此主题,请参阅Julie Lerman的博客文章 A big step for Stored Procedures in EF4 。
如果你有一个存储过程返回,例如客户ID,客户名称和去年该客户的总销售额,并且您没有任何与这三个字段匹配的实体,您可以在“实时”中轻松地在实体模型中创建新的复杂类型以捕获这些值从存储过程返回的集合。
据我所知,这可能是复杂类型最有用和最常见的用法。
有关EF4复杂类型的更多信息,请参阅Julie Lerman的博客文章: Complex Types in the EDM Designer in EF4 and a look at updating complex types in code
更新:EF4团队提供了一个关于如何“嗅探存储过程返回类型”以及如何为这些返回类型使用自动复杂类型的新interesting blog post。