C# C使用LINQ从Oracle数据库中选择视图

C# C使用LINQ从Oracle数据库中选择视图,c#,oracle,entity-framework,linq,C#,Oracle,Entity Framework,Linq,我想使用LINQ从oracle数据库中选择一个视图。我已经在VisualStudio的帮助下导入了数据库,但是我无法通过LINQ访问视图 以下是我在向导中选择视图的方式: 现在我想选择如下视图: var db= new ConfoEntities(); db.DView.toList(); 但这是行不通的 我想要实现的是,像选择表一样选择视图。问题是,如果涉及到联合,Oracle数据库中视图的列可以为空 我的SQL代码与此类似: CREATE VIEW THEVIEW AS SELECT co

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

以下是我在向导中选择视图的方式:

现在我想选择如下视图:

var db= new ConfoEntities();
db.DView.toList();
但这是行不通的


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

问题是,如果涉及到联合,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向导的帮助下导入了视图

之后,我可以通过LINQ访问视图

我做的最后一件事是,我简单地用以下内容替换视图:

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

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

什么不起作用?有错误吗?在任何情况下,C都是区分大小写的,toList会抛出语法错误。请发布一段实际编译的代码片段以及您收到的完整错误消息。如果在运行时引发异常,请发布整个异常文本,包括调用堆栈,而不仅仅是异常消息。您可以通过调用Exception.ToStringI来实现这一点,因为Visual Studio没有为该视图创建类,所以它甚至无法编译该项目。对于一个表,它将创建一个类,我可以用db.exampletable.toList选择它。没有toList方法。那是个打字错误。在您的上下文中定义了哪些EntitySet?您是否使用了正确的类(即向导生成的上下文)?您是否在屏幕截图中包含了显示的模型名称空间?请张贴实际的编译错误这是我的项目现在。您可以看到,在这个示例中,我在向导中选择了一个表而不是视图,因为它在Models-ConfoModel.edmx-ConfoModel.tt下创建了一个类地址。您可以看到,我可以选择表中的所有行。现在的问题是Visual Studio没有为我的视图创建类,即使我在向导中选择了视图,也只是为表创建类。您也没有将返回类型分配给变量。。。。var data=db.ADDRESS。。。