将实体框架7添加到MVC 5项目

时间:2014-11-20 22:31:51

标签: c# asp.net-mvc entity-framework azure asp.net-mvc-5

我正在创建一个新的MVC 5网站,我可以在我的SQL Server数据库中使用Entity Framework 6.1。该项目将在Azure中托管,部分数据将转至Table Storage。我已经看到,在Entity Framework 7中,我可以使用Azure Table Storage创建一个DbContext,我想使用它。我有Visual Studio 2015预览版,我已经设法在ASPNET 5 MVC 6应用程序上安装EF7。但我无法与MVC 5合作,任何想法如何实现这一目标?

谢谢!

1 个答案:

答案 0 :(得分:0)

EF7建立在K-runtime环境之上(就像MVC6,即VS2015只在mo),所以它只是与MVC5不兼容,无法绕过它。

免责声明:其余的是我的意见

我在MVC6项目中尝试过EF7 Azure表存储(ATS)扩展,不仅表现不尽相同(现在可能已经修复了),但是你有很多功能。在EF中习惯,因为它们不可用。 EF非常适合关系数据库,我喜欢它,但是尝试将ATS视为关系数据库只会让你遇到麻烦。

如果您要开发高性能和可扩展的系统,它会将重要知识从您需要的开发人员中抽象出来。

ATS一次只能保证对单个分区的事务,而不是跨分区,我不确定EF(在多个分区中可以修改实体的位置)如何处理这个问题。

EF7不允许您跨多个存储帐户跨越上下文,如果您开始达到分区/实体限制(每个帐户20,000 /秒,每个分区2000 /秒),这是一个大问题。

EF7不允许单个表中的多个实体类型,或者能够解析到不同的DTO,您必须在内存中进行映射。

测试后不久,我又回到了使用天蓝色存储客户端,我不认为我会再试一次。存储客户端专门设计用于与ATS一起开发的方式。虽然我还在期待在准备好时使用EF7和SQL。