ef6 连接mysql 案例
时间: 2024-11-16 22:04:04 浏览: 5
EF6 (Entity Framework 6) 是 Microsoft 提供的一种 ORM(Object-Relational Mapping)框架,用于.NET应用连接数据库,包括MySQL。以下是使用EF6连接MySQL的一个基本案例:
首先,你需要安装 EF6 的 MySQL 驱动NuGet包,例如 `MySql.Data.Entity` 或者 `Pomelo.EntityFrameworkCore.MySql`。
1. 添加依赖项:
```xml
<dependencies>
<dependency>
<groupId>MySql.Data</groupId>
<artifactId>MySql.Data.EntityFramework6</artifactId>
<version>8.0.24</version> <!-- 根据实际版本更换 -->
</dependency>
</dependencies>
```
2. 配置DbContext:
```csharp
using MySql.Data.Entity;
using YourNamespace.Models; // 假设你有一个名为Models的命名空间,其中包含实体类
public class YourDbContext : DbContext
{
public YourDbContext()
{
Database.SetInitializer<MyDbContext>(null); // 不自动创建数据库结构,需手动迁移
}
public DbSet<User> Users { get; set; }
public DbSet<Order> Orders { get; set; } // 示例,假设你有User和Order实体
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); // 如果MySQL不支持复数表名
}
// 可选:添加连接字符串配置
protected override string ConnectionString => "server=your_server_address;database=your_database_name;uid=your_username;pwd=your_password;";
}
```
3. 创建实体类(如User.cs):
```csharp
public class User
{
public int Id { get; set; }
public string Name { get; set; }
// 其他属性...
}
```
4. 数据库操作:
```csharp
var context = new YourDbContext();
var users = context.Users.ToList(); // 查询所有用户
context.Add(new User { Name = "John" });
context.SaveChanges(); // 插入新用户
```
阅读全文