.net core查询不同数据库里的数据
时间: 2023-08-01 13:08:00 浏览: 43
在 .NET Core 中,可以使用 Entity Framework Core 来查询不同数据库中的数据。以下是一些基本步骤:
1. 创建一个 .NET Core 项目,并添加 Entity Framework Core 包。
2. 在项目中创建一个 DbContext 类,用于定义数据模型和数据上下文。
3. 在 DbContext 类中,使用 OnConfiguring 方法来配置数据库连接。可以根据需要配置多个数据库连接。
4. 创建一个数据模型类,用于表示要查询的数据。
5. 在 DbContext 类中创建一个 DbSet 属性,用于表示数据模型类对应的数据表。
6. 在代码中使用 DbContext 对象来查询数据。可以使用 LINQ 查询语句来查询不同数据库中的数据。
下面是一个简单的示例代码,演示如何查询两个不同数据库中的数据:
```csharp
// 定义数据模型类
public class User
{
public int Id { get; set; }
public string Name { get; set; }
}
// 定义第一个 DbContext 类,连接到 SQL Server 数据库
public class SqlServerDbContext : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=SqlServerDatabase;Trusted_Connection=True;");
}
// 定义第二个 DbContext 类,连接到 SQLite 数据库
public class SqliteDbContext : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=sqlite.db;");
}
// 在代码中使用 DbContext 查询数据
using (var sqlServerDb = new SqlServerDbContext())
{
var sqlServerUsers = from u in sqlServerDb.Users
where u.Name.StartsWith("A")
select u;
// 处理 SQL Server 数据库中的数据
}
using (var sqliteDb = new SqliteDbContext())
{
var sqliteUsers = from u in sqliteDb.Users
where u.Name.StartsWith("B")
select u;
// 处理 SQLite 数据库中的数据
}
```
上面的代码中,我们定义了两个 DbContext 类,分别连接到 SQL Server 和 SQLite 数据库。然后在代码中使用这两个 DbContext 对象来查询不同数据库中的数据。