使用来自2个不同数据库的表 - 实体框架

时间:2009-07-21 13:04:07

标签: asp.net-mvc entity-framework

我有一个来自sql 2008数据库的模型,现在我需要,在同一个模型文件中创建一个代表另一个数据库的用户库的实体。我如何在同一模型中执行此操作,并避免创建数据库视图。

1 个答案:

答案 0 :(得分:3)

您可以在SSDL中创建VIEW。即不是数据库视图,而是实体框架视图。

查看DefiningQuery的文档。 DefiningQueries具有本机SQL主体,就像数据库视图一样,但您不需要在数据库中查看

此时,实体变为只读,因此您需要添加Functions(到SSDL)和ModificationFunction Mappings(到MSL)以再次进行实体读写。

注意一旦函数在SSDL中,您应该使用设计器来创建修改映射,而不是在XML中乱码。

通常,SSDL中的函数只是存储过程的包装器,但是当您不想添加数据库视图时,您可能不希望创建存储过程。

幸运的是,您也可以直接在SSDL中嵌入CommandText SSDL函数(即再次使用本机SQL)。

如果您按照所有这些步骤操作,就可以得到您想要的结果。

但我承认这并不容易。

希望这会有所帮助(至少可以给你一些关于如何入门的提示)。

Alex(实体框架小组)