要使用 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();
- }