Entity framework 4 实体框架:如何向实体添加字段以匹配存储过程结果

Entity framework 4 实体框架:如何向实体添加字段以匹配存储过程结果,entity-framework-4,Entity Framework 4,我的实体框架中有一个实体(Org),它有一个外键和另一个数据库(BusinessUnit)中的表。我们需要外键来获取与组织链接的业务部门的描述。在过去(没有实体框架的旧项目),我们使用一个存储过程来返回关于这个实体的所有信息,包括业务单元描述,使用连接。所以现在我的问题是如何显示与使用实体框架之前相同的信息 我曾经尝试过,一旦我从数据库加载了我的组织实体,循环访问BusinessUnit以获取每个组织的描述,但这太慢了。我的另一个想法是使用存储过程,但我需要在我的实体上有一个额外的字段,实体框架

我的实体框架中有一个实体(Org),它有一个外键和另一个数据库(BusinessUnit)中的表。我们需要外键来获取与组织链接的业务部门的描述。在过去(没有实体框架的旧项目),我们使用一个存储过程来返回关于这个实体的所有信息,包括业务单元描述,使用连接。所以现在我的问题是如何显示与使用实体框架之前相同的信息

我曾经尝试过,一旦我从数据库加载了我的组织实体,循环访问BusinessUnit以获取每个组织的描述,但这太慢了。我的另一个想法是使用存储过程,但我需要在我的实体上有一个额外的字段,实体框架给了我一个3004错误:没有为我的属性指定映射。我想使用一个复杂类型,但我不确定这是否是我需要记住的,我只需要在实体中添加一个字段。在这种情况下,我是否可以仅为“选择”操作使用复杂类型,并为其余CRUD操作保留原始实体

我应该如何进行


谢谢。

EF无法跨多个数据库执行查询。如果需要执行此类查询,则必须使用数据库视图并将视图映射为新实体(它将是只读的-使其可更新需要映射插入、更新和删除存储过程),或者将数据查询分为两个单独的部分以从两个数据库加载数据。分割查询可以使用两个上下文,也可以使用存储过程从第二个数据库获取数据


出现错误的原因是您在EDMX中添加了属性。EDMX只能包含映射到第一个数据库的属性。EDMX将实体代码生成为分部类如果您需要从第二个数据库手动填充属性,您必须为实体创建分部(分部类),并在代码中添加属性。

谢谢Ladislav,一如既往地有用!我终于改变了主意,用外部表创建了一个视图,过了一会儿,它的工作就完美了,再次感谢!。