伴随着ASP.NET Core 1.0发布的还有Entity Framework Core 1.0; 官方文档链接:https://docs.efproject.net/en/latest/platforms/aspnetcore/index.html

跟以往一样,Entity Framework 同样两种模式:Code First(即Database尚未创建)和Database First(即Database已然存在)。上述链接中有针对两种模式的节点。

记录一下使用EF过程中(Database First模式,还是习惯SSMS中自己创建Table和View等)遇到的问题:

1) Scaffold-Dbcontext一直使用失败

首先,Scaffold-Dbcontext是一个Package Management Console命令(针对Visual Studio用户,非Visual Studio用户可以参考.NET Core CLI指令https://docs.efproject.net/en/latest/cli/dotnet.html),可以使用-Verbose来使其dump具体的错误信息;

其次,最新的Entity Framework 1.0 RC2依赖于Powershell 5.0,所以会导致许多问题。官方文档(https://docs.efproject.net/en/latest/platforms/aspnetcore/existing-db.html)虽然提到RC2一个已知问题,但是其链接是失效的!倒是Github上的Issue 5376 https://github.com/aspnet/EntityFramework/issues/5376记录了详细的讨论和解决方法。

官方的已知RC2问题的有效链接:https://docs.efproject.net/en/latest/cli/powershell.html#error-the-expression-after-in-a-pipeline-element-produced-an-object-that-was-not-valid

PowerShell 5.0的下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=50395

我个人很推崇的解决方法是:

直接键入Scaffold-Dbcontext,安装其提示一步步输入Connection String和Provider。唯一的遗憾是,在这种方法下输入Connection String时无法Copy/Paster,只能自己一个一个字符敲进去,略悲催。

2) 已支持的Provider:

除了标配的SQL Server之外(Azure SQL可以使用SQL Server),Entity Framework Core 1.0还提供了别的Provider。参阅:https://docs.efproject.net/en/latest/providers/index.html

3) 更新Dbcontext

迭代式的开发必然会导致同步问题,Dbcontext跟真实Database的Schema之间也一样。譬如增加了一张新Table,需要同步到Dbcontext中。个人推荐的做法是,继续使用Scaffold-Dbcontext ,配上-Force选项。

4) 更多的Package Management Console指令参阅:https://docs.efproject.net/en/latest/cli/powershell.html

是为之记。

Alva Chien
2016.6.1

ASP.NET Core 1.0: Using Entity Framework Core的更多相关文章

  1. ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET 5.0 将改名为 ASP.NET Core 1.0 ASP.NET MVC 6  将改名为 ASP.NET MVC Core 1.0 Entity Framework 7.0    将 ...

  2. [转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET Core 1.0.ASP.NET MVC Core 1.0和Entity Framework Core 1.0 http://www.cnblogs.com/webapi/p/5673 ...

  3. Professional C# 6 and .NET Core 1.0 - 38 Entity Framework Core

    本文内容为转载,重新排版以供学习研究.如有侵权,请联系作者删除. 转载请注明本文出处:Professional C# 6 and .NET Core 1.0 - 38 Entity Framework ...

  4. [转]ASP.NET Core 1.0: Using Entity Framework Core 1.0 - Transaction

    本文转自:http://blog.csdn.net/alvachien/article/details/51576961 跟Entity Framework之前的版本不同,Class DbContex ...

  5. ASP.NET Core 1.0: Using Entity Framework Core 1.0 - Transaction

    跟Entity Framework之前的版本不同,Class DbContext不再有AcceptAllChanges()方法. 使用Transaction需要使用DbContext中的Databas ...

  6. 请问在 .NET Core 中如何让 Entity Framework Core 在日志中记录由 LINQ 生成的SQL语句?

    using dotNET.Core; using Microsoft.Extensions.Logging; using System; using System.Collections.Generi ...

  7. Entity Framework Core 练习参考

    项目地址:https://gitee.com/dhclly/IceDog.EFCore 项目介绍 对 Microsoft EntityFramework Core 框架的练习测试 参考文档教程 官方文 ...

  8. 全自动迁移数据库的实现 (Fluent NHibernate, Entity Framework Core)

    在开发涉及到数据库的程序时,常会遇到一开始设计的结构不能满足需求需要再添加新字段或新表的情况,这时就需要进行数据库迁移. 实现数据库迁移有很多种办法,从手动管理各个版本的ddl脚本,到实现自己的mig ...

  9. ASP.Net Core项目在Mac上使用Entity Framework Core 2.0进行迁移可能会遇到的一个问题.

    在ASP.Net Core 2.0的项目里, 我使用Entity Framework Core 2.0 作为ORM. 有人习惯把数据库的连接字符串写在appSettings.json里面, 有的习惯写 ...

随机推荐

  1. 一次对php大马的后门的简单分析

    有人分享了一个php大马(说是过waf),八成有后门,简单分析了一次 <?php $password='Shiqi';//登录密码(支持菜刀) //----------功能程序--------- ...

  2. Ubuntu PHP安装bcmath模块

    1.sudo apt-get install php-bcmath ,安装之后: 2.运行:php -i | grep "php.ini",找到php的配置文件: 加入代码: ex ...

  3. luoguP2144 [FJOI2007]轮状病毒

    题目描述 求 nnn 个点的生成树个数. Solution 2144\text{Solution 2144}Solution 2144 打表得 1=125=5×1216=4245=5×32121=11 ...

  4. 我家很管事的猫——mycat初步部署实践与问题排查

    mycat,阿里出品的mysql中间件,提供读写分离和分库分表方案.项目中主要使用的是其读写分离功能. [如何部署?] 本文只采用并测试了双主从模式,配置看这一篇足矣: https://www.cnb ...

  5. go-关键字-变量

        var 声明变量 const 常量的关键字, 常量不能出现只声明不赋值的情况. 名字首字母为大写的程序实体可以被任何代码包中的代码访问到. 名字首字母为小写的程序实体则只能被同一个代码包中的代 ...

  6. Python爬取散文网散文

    配置python 2.7 bs4 requests 安装 用pip进行安装 sudo pip install bs4 sudo pip install requests 简要说明一下bs4的使用因为是 ...

  7. 百万年薪python之路 -- python的历史

    1.python的历史 ​ 2004 Django框架诞生了 ​ python2: ​ 源码不统一,有重复的功能代码 ​ python3: ​ 源码统一,没有重复的功能 2.python是一个什么编程 ...

  8. 通过反射来手写简单的ORM SQlserver

    不说废话,直接上干货,如发现问题,欢迎大家指出,谢谢! //------------------------------------MySQlServerORM [简单 CURD] using Sys ...

  9. WebApp 滚动列表的实现

    实现效果: 实现技术:overflow,flex,element::-webkit-scrollbar 实现步骤: //html:代码<div id="slider"> ...

  10. PCES - alpha阶段测试报告

    测试计划 测试目的 本测试目的在于测试项目完成情况,以及分析测试结果,为下一轮开发提供解决方案 测试项目 学生用户登录测试 课程信息检索测试 服务器测试 在测试过程中出现的Bug 用户界面间的跳转逻辑 ...