Dav*_*ave 4 stored-procedures view ef-code-first
实际上是否有通过 EF6.1 Code First 创建和使用视图的官方策略?我可以将数据库反转为 Code First 并获取表而不是视图。我可以将数据库导入到模型中并获取视图,然后从模型生成数据库,然后修改我的 edmx 并将视图转换为表。MSFT 似乎几乎放弃了 Model First,而新的 Update 2 似乎对 Code First 进行了逆向工程,因此我觉得被迫转换为 Code First,但 EF 团队是否支持任何合理的方法来使用视图或存储过程代码优先?毕竟 CF 应该创建数据库,但是什么 - 您不再应该在 .NET EF 应用程序中使用这些 SQL Server 功能中的任何一个吗?
对于初学者,您可以使用数据库中已创建的视图和存储过程。对于视图,如果您创建如下代码,则不必执行任何映射:
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);
如果您想通过实体框架创建、修改或删除视图和存储过程,您可以使用自定义迁移操作,请参阅http://dolinkamark.wordpress.com/2014/05/03/creating-a-custom-migration-operation-实体框架内/
为了更好地集成活动,您可以将公共映射 API 与社区成员提供的库结合使用: https: //codefirstfunctions.codeplex.com/
| 归档时间: | 
 | 
| 查看次数: | 6036 次 | 
| 最近记录: |