2013-07-04 32 views
2

我在项目上使用实体框架,但发现大型查询,特别是那些使用LEFT联接的大型查询,编写起来非常繁琐,而且很难调试。在实体框架中使用视图

在数据库中使用Views,然后在EntityFramework中使用这些视图是否是常见的或被接受的做法?或者这是一个不好的做法?

+0

+1我昨天也在挣扎。我想知道如何使用代码先创建视图... – Colin

+0

如何在没有连接语法的情况下执行左连接:http://blogs.teamb.com/craigstuntz/2010/01/13/38525/ – Colin

+0

遗留数据库的一些人正在试图摆脱观点:http://stackoverflow.com/q/9016079/150342 – Colin

回答

-1

首先创建您的视图。
更新您的.edmx文件。
然后像这样使用。

using (ManishTempEntities obj = new ManishTempEntities()) 
{ 
    var a = obj.View_1.ToList(); 
} 
+0

我在问更多是否可以在实体框架中使用视图。我想知道是否可以使用视图执行更复杂的左连接,而不是使用linq。 – Craig

+1

有一个视图比通过LINQ加入所有数据更好,因为这些视图是在SQL(如SP)中预编译的,因此可以更快地返回结果。该视图不需要将所有数据类型从SQL转换/转换为C#数据类型,这样就可以使它们变得更快......因此,如果您拥有越来越多的数据,您将希望使用视图而不是经典EF(即使我EF粉丝本人)。快乐的编码(即使这个评论有点晚) – HellBaby