该存储库是以下.NET基金会项目的所在地。这些项目由Microsoft维护,并根据MIT许可获得许可。
EF Core是.NET的现代对象数据库映射器。它支持LINQ查询,更改跟踪,更新和模式迁移。 EF Core通过提供商插件API与SQL Server,Azure SQL数据库,SQLITE,Azure Cosmos DB,MariadB,MySQL,PostgreSQL和其他数据库一起使用。
EF Core可在Nuget上找到。安装与您的目标数据库相对应的提供商软件包。有关其他数据库,请参见文档中的提供商列表。
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
dotnet add package Microsoft.EntityFrameworkCore.Sqlite
dotnet add package Microsoft.EntityFrameworkCore.Cosmos使用--version选项指定要安装的预览版。
我们建议使用每日构建来获取最新代码并提供有关EF Core的反馈。这些构建包含最新功能和错误修复;预览和官方发行滞后。
以下代码显示了EF核心的基本用法。有关配置DbContext的完整教程,定义模型并创建数据库,请参阅文档中的入门。
using var db = new BloggingContext ( ) ;
// Inserting data into the database
db . Add ( new Blog { Url = "http://blogs.msdn.com/adonet" } ) ;
db . SaveChanges ( ) ;
// Querying
var blog = db . Blogs
. OrderBy ( b => b . BlogId )
. First ( ) ;
// Updating
blog . Url = "https://devblogs.microsoft.com/dotnet" ;
blog . Posts . Add (
new Post
{
Title = "Hello World" ,
Content = "I wrote an app using EF Core!"
} ) ;
db . SaveChanges ( ) ;
// Deleting
db . Remove ( blog ) ;
db . SaveChanges ( ) ;大多数人通过安装前构建Nuget软件包来使用EF Core,如上所述。或者,可以构建代码,并且可以直接在开发机器上创建软件包。
我们欢迎社区拉的要求修复,增强功能和文档。请参阅如何贡献以获取更多信息。
如果您对使用这些项目有特定的问题,我们建议您在堆栈溢出上询问它。如果您遇到错误或想请求功能,请提交问题。有关更多详细信息,请参阅获得支持。
Microsoft.data.sqlite是Sqlite的轻量级ADO.NET提供商。 SQLITE的EF核心提供商是在此库顶上构建的。但是,它也可以独立使用,也可以与其他数据访问库一起使用。
最新的稳定版本可在Nuget上找到。
dotnet add package Microsoft.Data.Sqlite使用--version选项指定要安装的预览版。
我们建议使用每日构建来获取最新代码,并在microsoft.data.sqlite上提供反馈。这些构建包含最新功能和错误修复;预览和官方发行滞后。
该库实现了连接,命令,数据读取器等的常见ADO.NET抽象。有关更多信息,请参见Microsoft.data.sqlite上的Microsoft文档。
using var connection = new SqliteConnection ( "Data Source=Blogs.db" ) ;
connection . Open ( ) ;
using var command = connection . CreateCommand ( ) ;
command . CommandText = "SELECT Url FROM Blogs" ;
using var reader = command . ExecuteReader ( ) ;
while ( reader . Read ( ) )
{
var url = reader . GetString ( 0 ) ;
}大多数人通过安装前构建的Nuget软件包使用Microsoft.data.sqlite,如上所示。或者,可以构建代码,并且可以直接在开发机器上创建软件包。
我们欢迎社区拉的要求修复,增强功能和文档。请参阅如何贡献以获取更多信息。
如果您对使用这些项目有特定的问题,我们建议您在堆栈溢出上询问它。如果您遇到错误或想请求功能,请提交问题。有关更多详细信息,请参阅获得支持。