![](/img/trans.png)
[英]Using an SQL View from an Entity Framework Code First version 5
[英]Create SQL View With Entity Framework 6 Code First
我是Entity Framework 6 Code First的新手,我正在尝试执行我认为简单的任务。 我想创建一个SQL视图,然后在我的数据库上下文中有一个Entity,我可以使用它来查询视图。
我曾尝试如文章本但对我来说最关键的区别是,SQL视图是不是从另一个现有的数据库即将现有视图。
我检查了本文中提出的命题,但对我来说似乎有点过分,我需要创建一些扩展方法来做一些简单的事情,比如创建一个视图/实体组合并在我的数据库上下文中使用它。
我错过了什么吗? 我知道如果我不使用Code First会更容易,但请记住它是Code First,我正在尝试创建一个视图,而不是重用现有数据库中的视图。
科林和凯文,感谢您在另一篇文章中找到答案的链接和简明的答案。 我已经使用了几个资源来最终基于新的SQL视图创建可查询实体。 为了防止其他人对EF 6.0 Code First不熟悉并且刚刚开始行动,我确实会采取一些措施,希望将来能够让其他人受益。
我仍然感到惊讶的是,我需要完成所有这些自定义工作来创建视图并将其映射到具有Code First的实体,但在一天结束时,它有助于我开始迁移,因为您只能依赖无论如何,“自动迁移”已经很久了。
您可以手动添加sql以创建迁移视图,然后根据您的第一个链接使用它。
科林提供的链接中的答案完成了这项工作。
如果要创建大量视图,最好将视图查询保存在单独的文件中,并将它们添加到资源(.resx)文件中,而不是在Migration Up()中对sql查询进行硬编码方法。
例如
public override void Up()
{
Sql("ResourceFileName.ResourceName");
}
而不是硬编码
{
Sql("EXEC ('CREATE View [dbo].[ClientStatistics] AS --etc");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.