如何使用EF6 Code First创建和使用视图?

戴夫

实际上,是否存在用于通过EF6.1 Code First创建和使用视图的官方策略?我可以将数据库反转为Code First,并获取表而不是视图。我可以先将数据库导入Model并获取视图,然后从Model生成数据库,然后修改edmx并将视图转换为表。MSFT似乎几乎放弃了Model First,而新的Update 2似乎对Code First进行了逆向工程,因此我感到被迫转换为Code First,但是EF团队为使用视图或存储过程的任何合理方法提供了支持。代码优先?毕竟,CF应该可以创建数据库,但是,什么-您不再应该在.NET EF应用程序中使用这些SQL Server功能之一?

MárkGergely Dolinka

对于初学者,您可以使用数据库中已经创建的视图和存储过程。对于视图,如果创建如下代码,则无需进行任何映射:

public TestContext : DbContext
{
    public DbSet<User> AdminUsers { get; set; }
}

并且在数据库中有一个名为dbo.AdminUsers的视图,它可以映射到类User(包含与属性同名的所有必需属性)。

对于存储过程,可以通过DbContext的Database属性使用SqlQuery函数,例如:

var userActivityReport = context.Database.SqlQuery<UserActivityReport>(
    "dbo.GetUserActivityReport @p0, @p1", startDate, endDate);

或通过DbSet类的SqlQuery函数:

var newUsers = context.Users.SqlQuery("dbo.GetNewUsers @p0", count);

如果要通过Entity Framework创建,修改或删除视图和存储过程,则可以使用自定义迁移操作,请参见http://dolinkamark.wordpress.com/2014/05/03/creating-a-custom-migration-operation-实体框架/

为了更好地集成事件,您可以将公共映射API与社区成员提供的库一起使用:https : //codefirstfunctions.codeplex.com/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用EF6 Code First创建和使用视图?

来自分类Dev

如何使用EF6 Code First将外键属性公开给具有导航属性的现有实体

来自分类Dev

如何在EF6 Code First中创建与枚举对应的表?

来自分类Dev

如何让Glimpse与EF6配合使用?

来自分类Dev

EF6 Code First预生成的C#视图

来自分类Dev

如何在EF6 Code First中更新虚拟属性?

来自分类Dev

EF6 Code First和通过注释进行映射,如何构建配置?

来自分类Dev

如何在EF6 Code First中更新虚拟属性?

来自分类Dev

EF6 Code First多对多,无集合

来自分类Dev

Code First EF6是否无法检索内部对象?

来自分类Dev

使用Ef6 Code First在ASP MVC5中扩展默认ApplicationDbContext的简单方法

来自分类Dev

如何在EF6中使用临时表

来自分类Dev

如何使用EF6更新多对多表格

来自分类Dev

如何使用EF6删除1,000行?

来自分类Dev

如何通过EF6使用group by从表中查询?

来自分类Dev

如何使用EF6的分组依据从表中查询?

来自分类Dev

如何将EF6与Database First和现有视图一起使用?

来自分类Dev

使用EF6的异步查询结果

来自分类Dev

在 EF6 中使用数据注释

来自分类Dev

如何使用扩展实体在EF6类中通过属性更改通知创建新属性?

来自分类Dev

如何使用EF6在c#模型中创建多列“参考”索引(联接索引)

来自分类Dev

WPF中的EF6 Code First在应用程序文件夹中创建本地数据库

来自分类Dev

EF6 Code First drop tables (not entire database) when model changes

来自分类Dev

使用EF6,如何全局设置连接属性(例如事务隔离级别)?

来自分类Dev

如何在EF6中使用表名获取Entity及其属性和类型

来自分类Dev

如何使用EF6 Fluent API for MySQL指定表类型?

来自分类Dev

如何使用输出参数在 EF6 中调用存储过程

来自分类Dev

使用 Prism 和不同模块时如何修改 EF6 的连接字符串

来自分类Dev

我应该从SQL CLR函数使用EF6吗

Related 相关文章

  1. 1

    如何使用EF6 Code First创建和使用视图?

  2. 2

    如何使用EF6 Code First将外键属性公开给具有导航属性的现有实体

  3. 3

    如何在EF6 Code First中创建与枚举对应的表?

  4. 4

    如何让Glimpse与EF6配合使用?

  5. 5

    EF6 Code First预生成的C#视图

  6. 6

    如何在EF6 Code First中更新虚拟属性?

  7. 7

    EF6 Code First和通过注释进行映射,如何构建配置?

  8. 8

    如何在EF6 Code First中更新虚拟属性?

  9. 9

    EF6 Code First多对多,无集合

  10. 10

    Code First EF6是否无法检索内部对象?

  11. 11

    使用Ef6 Code First在ASP MVC5中扩展默认ApplicationDbContext的简单方法

  12. 12

    如何在EF6中使用临时表

  13. 13

    如何使用EF6更新多对多表格

  14. 14

    如何使用EF6删除1,000行?

  15. 15

    如何通过EF6使用group by从表中查询?

  16. 16

    如何使用EF6的分组依据从表中查询?

  17. 17

    如何将EF6与Database First和现有视图一起使用?

  18. 18

    使用EF6的异步查询结果

  19. 19

    在 EF6 中使用数据注释

  20. 20

    如何使用扩展实体在EF6类中通过属性更改通知创建新属性?

  21. 21

    如何使用EF6在c#模型中创建多列“参考”索引(联接索引)

  22. 22

    WPF中的EF6 Code First在应用程序文件夹中创建本地数据库

  23. 23

    EF6 Code First drop tables (not entire database) when model changes

  24. 24

    使用EF6,如何全局设置连接属性(例如事务隔离级别)?

  25. 25

    如何在EF6中使用表名获取Entity及其属性和类型

  26. 26

    如何使用EF6 Fluent API for MySQL指定表类型?

  27. 27

    如何使用输出参数在 EF6 中调用存储过程

  28. 28

    使用 Prism 和不同模块时如何修改 EF6 的连接字符串

  29. 29

    我应该从SQL CLR函数使用EF6吗

热门标签

归档