我正在创建一个新的 MVC 5 网站,我可以为我的 SQL Server 数据库使用 Entity Framework 6.1。该项目将托管在 Azure 中,部分数据将存储到表存储中。我已经看到在 Entity Framework 7 中我可以使用 Azure 表存储创建 DbContext,并且我想使用它。我有 Visual Studio 2015 预览版,并且我已成功在 ASPNET 5 MVC 6 应用程序上安装 EF7。但我无法让它与 MVC 5 一起工作,有什么想法可以实现这一点吗?
谢谢!
最佳答案
EF7 是基于 K 运行时环境构建的(就像 MVC6,即目前仅在 VS2015 上),因此它与 MVC5 不兼容,没有办法解决这个问题。
免责声明:其余的是我的意见
我已经在 MVC6 项目中尝试了 EF7 Azure 表存储 (ATS) 扩展,不仅性能相差很大(现在可能已经解决了这个问题),而且还有大量功能无法满足您的需求。在 EF 中使用的内容不可用,因为它们不可能。 EF 非常适合关系数据库,我喜欢它,但是尝试将 ATS 视为关系数据库只会给您带来麻烦。
它从开发人员那里提取了您要开发高性能和可扩展系统时所需的重要知识。
ATS 只能保证事务一次发送到单个分区,而不能保证跨分区,我不确定 EF(可以在多个分区中修改实体)如何处理这个问题。
EF7 不允许您跨多个存储帐户跨越上下文,如果您开始达到分区/实体限制(每个帐户 20,000/秒,每个分区 2000/秒),这将是一个大问题。
EF7 不允许在单个表中使用多个实体类型,也不允许解析为不同的 DTO,您必须在内存中进行映射。
测试后不久,我又开始使用 azure 存储客户端,我认为我不会再尝试了。存储客户端专门设计用于按照 ATS 的开发方式与 ATS 配合使用。尽管我仍然期待在 EF7 准备就绪时将其与 SQL 结合使用。
关于c# - 将 Entity Framework 7 添加到 MVC 5 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27050873/