C#使用LINQ从Oracle DB中选择View

时间:2016-03-01 10:44:47

标签: c# oracle entity-framework linq

我想用LINQ从我的oracle数据库中选择一个视图。我已经在Visual Studio的帮助下导入了数据库,但我无法通过LINQ访问该视图。

这就是我在向导中选择视图的方式:

wizard selection

现在我想选择这样的视图:

var db= new ConfoEntities();
db.DView.toList();

但这不起作用。

我想要实现的是,选择像桌子一样的视图。

1 个答案:

答案 0 :(得分:0)

问题是,如果涉及UNION,Oracle数据库中视图的列可以为空。

我的SQL代码与此类似:

CREATE VIEW THEVIEW AS
SELECT column1 FROM table1
UNION
SELECT column1 FROM table2

我的解决方案是我在其中创建了一个Select,因此没有UNION语句。

CREATE VIEW THEVIEW AS
SELECT column1 FROM table1

然后我在VS向导的帮助下导入了View。

之后,我可以通过LINQ访问View。

我做的最后一件事是,我只是将视图替换为:

CREATE OR REPLACE VIEW THEVIEW AS
SELECT column1 FROM table1
UNION
SELECT column1 FROM table2

现在我的VS项目中有View,我终于可以通过LINQ访问它了。