基于代码配置的EF6

20230223-EF6用原生的命令执行SQL命令 EF6用原生的命令执行SQL命令 阅读详情

这里并不是EF的CodeFirst模式,而是把EF配置项从配置文件,移到程序代码中了,在基于配置文件的程序中,最小化的EF配置有

注册提供程序、连接工厂、EF框架注册,如果项目作为DLL库需要提供给其它项目使用,那么在宿主项目的配置文件中,要包含EF的配置项,这是很不方便的,基于代码配置只需要引用DLL即可,无需在配置文件中配置EF项。

建表

create table student
(
	id int primary key auto_increment,
    name varchar(100) not null,
    class varchar(100) not null,
    writetime datetime not null
)

创建DLL库项目,并安装EF框架,及Mysql数据库驱动

EF配置对象,继承至DbConfiguration。

public class MyDbConfig: DbConfiguration
    {
        public MyDbConfig()
        {
            this.SetDefaultConnectionFactory(new MySql.Data.Entity.MySqlConnectionFactory());
            this.SetProviderServices("MySql.Data.MySqlClient", new MySql.Data.MySqlClient.MySqlProviderServices());
        }

        
    }

数据库上下文

[DbConfigurationType(typeof(MyDbConfig))]
    public class TestDbContext:DbContext
    {
        public TestDbContext():base("name=test")
        {

        }

        public virtual DbSet<student> student { get; set; }
    }

配置文件只需要配置数据库连接串和ADO.NET提供程序即可

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
      <add name="test" connectionString="数据库连接字符串" providerName="MySql.Data.MySqlClient"/>
  </connectionStrings>
  <system.data>
    <DbProviderFactories>
      <remove invariant="MySql.Data.MySqlClient" />
      <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.9.12.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>
</configuration>
using (TestDbContext db = new TestDbContext())
            {
                db.student.ToList().ForEach(u => 
                {
                    Console.WriteLine(u.name);
                });
            }

 

MVC+EF C#框架 C# 用于MVC+EF+Linq等技术封装的框架,该框架提供所有源码,包括一些公共类方法,如日志、操作图片、操作XML、WIN服务、加解密等工能,是一款不错的MVC WEB框架,大部代码可以用本站内C#开发利器生成! 立即下载

相关推荐

C#自动生成EF实体代码及实体Configuration代码

VS2013开发的EF实体代码生成项目,只需更改配置文件中的数据库连接字符串,启动项目就可以在web页面选择配置的数据库,选择数据表,右侧直接生成实体代码及实体Configuration映射代码

C# 使用EF6连接、操作Mysql数据库(内附操作源码分享)

由于一直使用的数据库是mysql,之前所用的orm都是轻量级的例如 dapper 这些的,然后想用ef配置一下mysql,总共时间花了差不多2天,才将坑填完,写个博客将流程记录一下 给后来者少掉点坑。 废话不多说直接开始。 一、安装数据库和连接器+系统环境配置 首先得安装Mysql数据库与两个连接器 Mysql会根据不同的系统环境安装不同版本的连接器,可以将连接器卸载后再安装适合的版本, ...

weixin_39525333的博客 1万+

EF6多对多,一对多关系映射样例代码

关于EF6配置oracle数据库,运用.net平台c#语言,利用Fluent API 配置实体与数据库的关系

Entity Framework 小知识(二)

零、基于代码配置 基于代码配置是EF6新增的一个特性,操作步骤如下: 创建***DbConfig***派生类; 配置默认连接工厂; 设置***Database Provider***; 设置数据库初始化器; 1. 创建***DbConfig***派生类 public class EF6Config:DbConfiguration { public EF6Config(){} } 接...

喵叔 1186

闲鱼客户端三重动态签名机制解析:x-sign、x-mini-wua与x-umt

在移动客户端安全通信中,设备级动态签名已成为主流App防范自动化攻击的核心手段。其原理是将设备指纹、运行时行为与可信硬件标识深度融合,生成不可复用、不可跨端、不可静态伪造的请求凭证。这类机制超越传统Token或Session鉴权,具备强上下文绑定性与实时熵值校验能力,广泛应用于电商、社交及开放平台等高风险接口场景。技术价值体现在有效识别模拟器、无头浏览器与集群化爬虫,同时保障多端一致性与合规数据对接。本文聚焦闲鱼客户端实际落地的x-sign(带设备上下文的混合签名)、x-mini-wua(小程序行为水印)与

weixin_35732273的博客 495

GEO数据挖掘实战:用R语言从GSE42872数据集中找到关键差异基因(附完整代码)

本文详细介绍了使用R语言从GSE42872数据集中挖掘关键差异基因的完整流程,包括数据下载、探针ID转换、差异表达分析和功能富集分析。通过实战代码演示,帮助生信研究者掌握GEO数据挖掘的核心技术,快速识别疾病相关基因并理解其生物学功能。

weixin_42625070的博客 365

在 C# 中使用 EF6连接数据库

在 C# 中使用 EF6连接数据库

weixin_49214320的博客 1749

避坑指南:GROMACS模拟中.tpr、.xtc、.edr、.cpt文件你用对了吗?从生成到分析全流程解析

本文详细解析GROMACS分子动力学模拟中.tpr、.xtc、.edr、.cpt等核心文件的使用技巧,从文件生成到轨迹优化、能量分析的全流程避坑指南。重点介绍拓扑文件校验、轨迹格式选择、周期性边界处理等实战经验,帮助科研人员高效管理模拟数据并准确提取关键能量信息。

weixin_30631587的博客 118

EF 6 DB-First系列--Entity Framework中基于代码的配置

Entity Framework 6引入了基于代码的配置。现在,您可以使用之前在app.config的部分中配置的代码配置实体框架相关设置。但是,app.config优先于基于代码的配置。换句话说,如果在代码和app.config中都设置了配置选项,那么将使用app.config中的设置。让我们看看如何使用Entity Framework 6实现基于代码的配置。:EF不支持在同一个AppDomain中使用多个配置类。如果使用此属性为两个上下文设置不同的配置类,则会引发异常。

a859745210b66a6的博客 269

VSCode里玩转AvaloniaUI:手把手教你搭建跨平台桌面应用开发环境(附.NET 7配置避坑)

本文详细介绍了如何在VSCode中搭建AvaloniaUI跨平台桌面应用开发环境,包括.NET 7配置避坑指南。从环境准备、项目创建到调试优化,手把手教你利用VSCode和Avalonia实现高效开发,特别解决了.NET 7依赖等常见问题,助力开发者快速上手跨平台应用开发。

weixin_28826545的博客 577

OpenClaw实战系列01:OpenClaw接入飞书机器人全接入指南 + Ollama本地大模型

通过 OpenClaw + Ollama + 飞书的组合,我们成功搭建了一个完全私有、免费、可定制的AI助理。它不仅能在日常聊天中提供帮助,还能通过OpenClaw强大的“技能”体系,真正去操作你的电脑、管理文件、甚至执行代码。这套方案将数据留在本地,既保证了隐私安全,又锻炼了动手能力。现在,去给你的AI助理添加更多酷炫的技能吧!

PeterPan的博客 1万+

Entity Framework入门教程(18)---EF6中基于代码进行配置方式

EF6中基于代码进行配置方式   我们以前对EF进行配置时是在app.config/web.config下的<entityframework>节点下进行配置的,EF6引进了基于代码的配置方法。我们可以根据喜好来选择使用哪种配置方法,当同时使用代码和配置文件进行配置时,最终使用的是配置文件中的配置(配置文件比代码配置的优先级更高)。 1.代码配置步骤 下边看一个代码配置的...

banyongzhan5405的博客 368

【3天快速入门WPF】11-附加属性

创建一个静态类,用于定义附加属性。使用方法注册附加属性。提供Get和Set方法来获取和设置附加属性的值。通过以上步骤,我们可以在WPF中轻松实现和使用附加属性。附加属性的主要用途包括为控件添加自定义行为、控制布局信息(如Grid.Row和)以及实现动态样式。

Zy100Papa的博客 679

【译】第38节---EF6-基于代码的配置

原文:http://www.entityframeworktutorial.net/entityframework6/code-based-configuration.aspx EF6引入了基于代码的配置。你仍可以使用以前在app.config的<entityframework>节点中配置的代码来配置Entity Framework相关设置。 但是,app.config优...

Travelling1006的专栏 258

【批处理脚本】-0.1-如何运行批处理bat文件

如何运行批处理bat文件

「汽车电子助手」的博客 1585

【2026最新版】Open3D(C++)点云处理算法汇总(C++长期更新版)

C++版本Open3D进行点云处理的一些算法使用案例。博客长期更新,最近一次更新时间为:2026年4月11日。

点云侠的博客 1万+

EF6代码配置连接SQL SERVER

需求:需要隐藏数据库的账户密码 尝试方法:折腾了一天,翻阅了大量的网站比如https://www.cnblogs.com/wyy1234/p/9644826.html尝试了FE6CodeConfig : DbConfiguration的写法始终连不上!!!又看了EntityFramework官方文档https://docs.microsoft.com/zh-cn/ef/ef6/,又下载了github ef6的代码看他的测试代码https://github.com/aspnet/EntityFramewor

党的专栏 1239

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【Entity Framework】EF配置之代码配置详解

可以在配置文件(app.config/web.config)中指定实体框架应用程序的配置,也可以通过代码进行指定。后者称为基于代码的配置。本博文将介绍配置文件中的配置。配置文件优于基于代码的配置。换而言之,如果在代码和配置文件中都有配置选择,则使用配置文件中的配置。博文讨论仅限于EF6及更高的版本,此页面中讨论的功能,API等已引入实体框架6。如果使用的是早期版本,则部分或全部信息不适用。你还可以添加其他依赖关系处理程序来获得相同的效果。请注意,你也可以通过这种方式包装。

记录总结工作过往 2059

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

调试EF源代码环境配置

下载EF6的源代码,运行build编译,Nuget会自动下载所需的DLL. 打开EF的工程,可以在EF解决方案下直接新建调试用的项目代码 添加EF引用时选择解决方案中的Entity Framework项目和SQLServer项目 修改配置文件 需要指定System.Data.SqlClient所在的Provide程序集,也就是在EntityFramework.SqlServer项目中 ...

weixin_30273175的博客 142

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

EF6&EFCore 注册/使用实体类的正确姿势

首先回顾下EF中常规使用流程 1.新建实体类以及实体配置(dataannotation或fluent api) [Table("Users")] public class Users { [Key] public Guid Id { get; set; } [StringLength(10)] ...

weixin_30719711的博客 773

EF6.2加载速度慢的解决方案

最近的项目中一直有反馈,EF在第一次启动之后调用的话,加载速度很慢,在网上搜索了一下,基本就是三种解决方案。 在程序启动的时候将映射视图缓存下来。 使用Ngen生成EF的本地镜像。 IIS8内置功能 application Initialization,或者设置IIS的休眠时间(该条和EF已经没多大关系了) 三种办法的具体实施步骤,在网上都能搜索的到。 本次主要想描述一...

weixin_30722589的博客 670

Z.EntityFramework.Plus.EF6兼容Entity Framework Profiler和MiniProfiler

使用Entity Framework Profiler和MiniProfiler会导致Z.EntityFramework.Plus.EF6识别数据库类型发生错误,从而导致生成的SQL不能正常执行,根本原因推测是“Entity Framework Profiler和MiniProfiler”重写了EF的DBContext或Z.EntityFramework.Plus.EF6获取程序集时出错,而“Z...

高彬的专栏 832

c#使用ef链接mysql_.NET c# EF DB first 连接mysql 实施

一、引用框架及DLL1、采用Nuget安装EF6.0.2;2、采用Nuget安装MySql.Data.Entity.EF6采用Nuget进行安装,否则可能会缺少相应的dll或者是配置信息二、配置 web.config或app.config在节点中添加(或修改)entitframework节点为:在节点中添加(或修改)connectionStrings节点为:三、代码测试1、建表 test,建立表对...

weixin_40003233的博客 332

ASP.NET+MVC+EF6.0项目部署时BUG实录

“错误 0152: 未找到具有固定名称“System.Data.SqlClient”的 ADO.NET 提供程序的实体框架提供程序。请确保在应用程序配置文件的“entityFramework”节中注册了该提供程序。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=260882。"

lijigang1982的专栏 866

EFCore与EF6:ORM技术深度解析

ORM(对象关系映射)技术通过将数据库表映射为程序对象,简化了数据库操作。EF Core和EF6是.NET平台下的ORM框架,支持LINQ查询、数据迁移等功能。EF Core是跨平台的新版本,而EF6仅支持.NET Framework。使用ORM时可通过代码优先或数据库优先方式创建模型,并利用数据注解配置映射关系。核心功能包括DbContext管理数据库连接、Linq查询、增删改操作及数据库迁移。开发时需通过NuGet安装相应包,在程序包管理器控制台执行迁移命令,实现模型与数据库的同步。该技术显著提升了开发

过客 1698

ef mysql dbfunctions_Entity Framework SqlFunctions 教你如何在EF调用sqlserver方法

今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生, 有的甚至直指EF中是不能调用sqlserver里的方法的。 因为之前搞过linq to sql 里面的SqlMethod ,所以觉得EF里面必须是可以的。 首先需要简短介绍一下EF6和EF5,当你N今天算是研究了一天的SqlFunctions,请教了几个群的牛人,居然发现大伙对这个都比较陌生,有的甚至...

weixin_30658759的博客 410
上一篇: 从源码构建Kubernetes环境
下一篇: Centos8 使用kubeadm部署k8s集群
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值