ASP.NET Core 1.0: Using Entity Framework Core

原创 2016年06月01日 14:28:55

伴随着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
版权声明:© 2004 - 2016 Alva Chien, All Rights Reserved.

net core生成数据库,使用Scaffold-DbContext报错“‘Scaffold-DbContext’ is not recognized as the name of a cmdlet”

win7,64位,vs2015 net core生成数据库,使用Scaffold-DbContext报错“‘Scaffold-DbContext’ is not recognized as the n...
  • king_hh
  • king_hh
  • 2017年03月02日 14:46
  • 2005

ASP.NET Core 1.0 on Ubuntu 16.04

ASP.NET Core 1.0 on Ubuntu 16.04 TODO: 这篇文章由 赤石俊哉 原创编写,转载之前请征得作者同意,并在转载时注明出处。 由于最近新购入了一个VPS,加上想要做一...

ASP.NET Core 1.0: Deploy to IIS

尽管ASP.NET最新的官方文档记录了如何Deploy to IIS,但是实际操作起来依旧磕磕绊绊。官方文档地址:https://docs.asp.net/en/latest/publishing/i...

[.NET开发] ASP.NET Core 1.0基础之依赖注入

在Startup类中,应用可以通过将框架内嵌服务注入到方法中来使用他们;另一方面,你也可以配置服务来注入使用。默认的服务容器只提供了最小的特性集合,所以并不打算取代其他的IoC容器。 什么是依赖注入...

ASP.NET Core 1.0 High Performance.pdf

  • 2017年11月23日 21:14
  • 6.82MB
  • 下载

ASP.NET 5 改名 ASP.NET Core 1.0

看样子,应该是通过软件翻译的,部分语句不是很通顺,等研究一段时间再换成容易理解的表达方式吧。 ASP.NET5应用程序默认使用.net core来构建应用程序,.net core是一个小的,优化...

【微软官方】Asp.Net Core V1.0 白皮书

  • 2016年03月12日 09:51
  • 9.44MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET Core 1.0: Using Entity Framework Core
举报原因:
原因补充:

(最多只允许输入30个字)