【发布时间】:2014-08-03 21:15:09
【问题描述】:
是否有可能使用开放数据库,如 mysql、mariadb 或其他以及 ASP.NET vNext?
也许是测试版驱动程序或类似的东西?
【问题讨论】:
-
为什么不能在 any 版本的 ASP.NET 中使用 mysql?
标签: asp.net asp.net-core entity-framework-core
是否有可能使用开放数据库,如 mysql、mariadb 或其他以及 ASP.NET vNext?
也许是测试版驱动程序或类似的东西?
【问题讨论】:
标签: asp.net asp.net-core entity-framework-core
对于 ASP.NET vNext,您可以选择以完整的 .NET Framework 或精简、可二进制部署、跨平台的 Core 框架为目标。
如果您以完整的 .NET Framework 为目标,那么您将获得以前拥有的所有数据访问选项。如果您以 CoreCLR 为目标,则可以使用新版本的实体框架 (EF7)。目前我们在 CoreCLR 上有以下提供程序; SQL Server、SQLite 和用于测试的内存提供程序。当然,随着我们朝着 RTM 的方向努力,将会有更多的提供商可用。
除了 EF7,还有 EF 在其之上构建的相应提供程序特定的 SDK,这些也可以在应用程序代码中使用(例如,有一个 SqlClient 的实现,可用于访问 SQL服务器数据库)。
您可以在此处阅读有关我们的 EF7 计划的更多信息 - http://blogs.msdn.com/b/adonet/archive/2014/05/19/ef7-new-platforms-new-data-stores.aspx。
【讨论】:
这取决于您使用的是 CoreCLR(精简版)还是桌面配置文件。在桌面配置文件中,您可以使用 .NET 中的所有内容,并且可以添加自己的开源库(通过 Nuget)。
只需打开您的 project.json 并添加所需的依赖项。
无论如何,您不应该处理低级 ADO.NET,您可以使用 Entity Framework、Massive 或 nHibernate 或其他任何东西来抽象出您的项目现在使用的特定数据库,因为它必然会改变或成倍增加在项目生命周期内...
【讨论】:
您应该仍然可以使用与 ASP.Net vNext 相关的任何 ADO.Net - 毕竟,它仍然是 .Net!
【讨论】:
是的,这是可能的,但前提是您使用完整的 .net 配置文件(在 Windows 上它将是 .net 框架,在 linux 上是单声道)。 NHibernate 在单声道上运行良好,因此您最终可以在 APS.NET 5 vNext 应用程序中使用 mysql、postgresql 和其他数据库。这是NHibernate and PostgreSQL on Ubuntu server的完整应用示例。
【讨论】: