0

我们有一个客户给了我们一些用 VB6 编写的代码,并将被转换为 .Net 4.0。他们的数据库只能说是一场灾难。但是,我们不允许更改它。所以我们正在这个不稳定的数据库之上构建一个应用程序。

他们所做的一件事是(等待它),根据用户选择哪些列应在网格中显示来创建视图。

例如,联系人屏幕列出了所有联系人。他们有一个屏幕,可以读取数据库,从视图中获取字段,然后向用户显示可能的列列表。然后用户选择一些(姓氏、名字、出生日期)。

然后代码会创建一个新视图(或覆盖现有视图)

'SELECT Surname, Firstname, DOB' from AnotherView WHERE ID=:ID'

(另一个视图是一个包含连接等的大视图......)

然后,每次查看屏幕时,它都会使用该视图。

所以,观点发生了变化。

我们正在使用实体框架。是否可以处理动态视图?我们在演示文稿中使用 Linq(我知道,我知道....)来挖掘数据。那么我们能否以某种方式使用 Linq 从视图中选择 *,然后呈现网格?但是,如果视图发生变化,我们需要重新生成 EF 模型,不是吗?

4

1 回答 1

2

简单的回答:不要对这些查询使用 EF。EF 模型是在设计时创建的,在运行时更改它意味着很多问题,不值得。使用 EF 直接执行您的动态 SQL。

于 2012-10-22T08:05:44.760 回答