要使用 DM.Microsoft.EntityFrameworkCore 库连接达梦数据库,您需要在您的项目中添加以下 NuGet 包:
Install-Package DM.Microsoft.EntityFrameworkCore
然后,您可以使用以下代码连接到达梦数据库:
using Microsoft.EntityFrameworkCore;
using DM.Microsoft.EntityFrameworkCore;
namespace DMDemo
{
class Program
{
static void Main(string[] args)
{
// 创建连接字符串
string connectionString = "Data Source=localhost;Initial Catalog=test;User ID=admin;Password=admin;";
// 创建数据库上下文
DbContext context = new MyContext(connectionString);
// 创建实体
User user = new User();
user.Id = 1;
user.Name = "John Doe";
user.Age = 30;
// 保存实体
context.SaveChanges();
// 查询实体
var users = context.Users.ToList();
// 打印实体
foreach (var user in users)
{
Console.WriteLine("{0} {1}", user.Id, user.Name);
}
}
public class MyContext : DbContext
{
public MyContext(string connectionString) : base(connectionString)
{
}
public DbSet<User> Users { get; set; }
}
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
}
}
此示例将连接到名为 test 的数据库,用户名为 admin,密码为 admin。它将创建一个 User 实体,并将其保存到数据库中。然后,它将查询 Users 表并将结果打印到控制台。
以下是 DM.Microsoft.EntityFrameworkCore 库的一些常用功能:
连接到达梦数据库
// 使用连接字符串连接
DbContext context = new MyContext("Data Source=localhost;Initial Catalog=test;User ID=admin;Password=admin;");
// 使用连接参数连接
DbContext context = new MyContext(new DbConnectionOptions("Data Source", "localhost"), new DbConnectionOptions("Initial Catalog", "test"), new DbConnectionOptions("User ID", "admin"), new DbConnectionOptions("Password", "admin"));
创建实体类
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
映射实体类到数据库表
public class MyContext : DbContext
{
public DbSet<User> Users { get; set; }
}
保存实体
var user = new User();
user.Id = 1;
user.Name = "John Doe";
user.Age = 30;
context.SaveChanges();
查询用户
var users = dbContext.Set<User>().ToList();
删除用户
var deletedUser = users.FirstOrDefault(u => u.Name == "Jane Doe");
dbContext.Remove(deletedUser);
// 保存用户
dbContext.SaveChanges();
使用事务
// 使用事务更新和删除数据
using (var transaction = dbContext.Database.BeginTransaction())
{
// 更新数据
var myEntity = dbContext.Set<MyEntity>().Where(e => e.Name == "My Entity").FirstOrDefault();
myEntity.Name = "My Updated Entity";
dbContext.SaveChanges();
// 删除数据
var otherEntity = dbContext.Set<MyEntity>().Where(e => e.Name == "My Other Entity").FirstOrDefault();
dbContext.Remove(otherEntity);
dbContext.SaveChanges();
transaction.Commit();
}