Free

支持 My

QQ群:4336577(已满)、8578575(在线)、52508226(在线)

模型

FreeSql 使用模型执行数据访问,模型由实体类表示数据库表或视图,用于查询和保存数据。

可从现有数据库生成实体模型,FreeSql 提供 IDbFirst 接口实现生成实体模型。

或者手动创建模型,基于模型创建或修改数据库,提供 ICodeFirst 同步结构的 API(甚至可以做到开发阶段自动同步)。

using FreeSql.DataAnnotations;

using System;

public class Blog

{

[Column(IsIdentity = true, IsPrimary = true)]

public int BlogId { get; set; }

public string Url { get; set; }

public int Rating { get; set; }

}

声明

dotnet add packages FreeSql.Provider.Sqlite

static IFreeSql fsql = new FreeSql.FreeSqlBuilder()

.UseConnectionString(FreeSql.DataType.Sqlite, "Data Source=db1.db")

.UseAutoSyncStructure(true) //自动同步实体结构到数据库

.Build(); //请务必定义成 Singleton 单例模式

注意: IFreeSql 在项目中应以单例声明,而不是在每次使用的时候创建。

迁移

程序运行中FreeSql会检查AutoSyncStructure参数,以此条件判断是否对比实体与数据库结构之间的变化,达到自动迁移的目的。

查询

var blogs = fsql.Select()

.Where(b => b.Rating > 3)

.OrderBy(b => b.Url)

.Skip(100)

.Limit(10) //第100行-110行的记录

.ToList();

插入

var blog = new Blog { Url = "http://sample.com" };

blog.BlogId = (int)fsql.Insert()

.AppendData(blog)

.ExecuteIdentity();

更新

fsql.Update()

.Set(b => b.Url, "http://sample2222.com")

.Where(b => b.Url == "http://sample.com")

.ExecuteAffrows();

删除

fsql.Delete()

.Where(b => b.Url == "http://sample.com")

.ExecuteAffrows();

FreeSqlBuilder

方法

返回值

说明

UseConnectionString

this

设置连接串

UseSlave

this

设置从数据库,支持多个

UseConnectionFactory

this

设置自定义数据库连接对象(放弃内置对象连接池技术)

UseAutoSyncStructure

this

【开发环境必备】自动同步实体结构到数据库,程序运行中检查实体创建或修改表结构

UseNoneCommandParameter

this

不使用命令参数化执行,针对 Insert/Update,也可临时使用 IInsert/IUpdate.NoneParameter()

UseGenerateCommandParameterWithLambda

this

生成命令参数化执行,针对 lambda 表达式解析

UseLazyLoading

this

开启延时加载功能

UseMonitorCommand

this

监视全局 SQL 执行前后

UseNameConvert

this

自动转换实体、属性名称 Entity Property -> Db Filed

UseExitAutoDisposePool

this

监听 AppDomain.CurrentDomain.ProcessExit/Console.CancelKeyPress 事件自动释放连接池 (默认true)

Build

IFreeSql

创建一个 IFreeSql 对象,注意:单例设计,不要重复创建

ConnectionStrings

DataType.MySql

Data Source=127.0.0.1;Port=3306;User ID=root;Password=root; Initial Catalog=cccddd;Charset=utf8; SslMode=none;Min pool size=1

DataType.PostgreSQL

Host=192.168.164.10;Port=5432;Username=postgres;Password=123456; Database=tedb;Pooling=true;Minimum Pool Size=1

DataType.

Data Source=.;Integrated Security=True;Initial Catalog=freesqlTest;Pooling=true;Min Pool Size=1

DataType.Oracle

user id=user1;password=123456; data source=//127.0.0.1:1521/XE;Pooling=true;Min Pool Size=1

DataType.Sqlite

Data Source=|DataDirectory|\document.db; Attachs=xxxtb.db; Pooling=true;Min Pool Size=1

DataType.Firebird

database=localhost:D:\fbdata\EXAMPLES.fdb;user=sysdba;password=123456

DataType.MsAccess

Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:/accdb/2003.mdb

DataType.Dameng(达梦)

server=127.0.0.1;port=5236;user id=2user;password=123456789;database=2user;poolsize=5

DataType.ShenTong(神通)

HOST=192.168.164.10;PORT=2003;DATABASE=OSRDB;USERNAME=SYSDBA;PASSWORD=szoscar55;MAXPOOLSIZE=2

DataType.KingbaseES(人大金仓)

Server=127.0.0.1;Port=54321;UID=USER2;PWD=123456789;database=TEST;MAXPOOLSIZE=2

DataType.OdbcMySql

Driver={MySQL ODBC 8.0 Unicode Driver}; Server=127.0.0.1;Persist Security Info=False; Trusted_Connection=Yes;UID=root;PWD=root; DATABASE=cccddd_odbc;Charset=utf8; SslMode=none;Min Pool Size=1

DataType.Odbc

Driver={SQL Server};Server=.;Persist Security Info=False; Trusted_Connection=Yes;Integrated Security=True; DATABASE=freesqlTest_odbc; Pooling=true;Min Pool Size=1

DataType.OdbcOracle

Driver={Oracle in XE};Server=//127.0.0.1:1521/XE; Persist Security Info=False; Trusted_Connection=Yes;UID=odbc1;PWD=123456; Min Pool Size=1

DataType.OdbcPostgreSQL

Driver={PostgreSQL Unicode(x64)};Server=192.168.164.10; Port=5432;UID=postgres;PWD=123456; Database=tedb_odbc;Pooling=true;Min Pool Size=1

DataType.OdbcDameng (达梦)

Driver={DM8 ODBC DRIVER};Server=127.0.0.1:5236; Persist Security Info=False; Trusted_Connection=Yes; UID=USER1;PWD=123456789

DataType.OdbcKingbaseES (人大金仓)

Driver={KingbaseES 8.2 ODBC Driver ANSI};Server=127.0.0.1;Port=54321;UID=USER2;PWD=123456789;database=TEST

DataType.Odbc

Driver={SQL Server};Server=.;Persist Security Info=False; Trusted_Connection=Yes;Integrated Security=True; DATABASE=freesqlTest_odbc; Pooling=true;Min pool size=1

Packages

Package Name

Version

说明

NETStandard2.0、net45、net40

通用仓储 + UnitOfWork 实现

NETStandard2.0、net45、net40

EFCore 的使用风格实现

FreeSql.Provider.MySql

NETStandard2.0、net45、net40

基于 MySql.Data(Oracle官方)

FreeSql.Provider.MySqlConnector

NETStandard2.0、net45

基于 MySqlConnector

FreeSql.Provider.PostgreSQL

NETStandard2.0、net45

基于 PostgreSQL 9.5+

FreeSql.Provider.SqlServer

NETStandard2.0、net45、net40

基于 SqlServer 2005+

FreeSql.Provider.SqlServerForSystem

NETStandard2.0、net45、net40

基于 System.Data.SqlClient + SqlServer 2005+

FreeSql.Provider.Sqlite

NETStandard2.0、net45、net40

FreeSql.Provider.Oracle

NETStandard2.0、net45、net40

FreeSql.Provider.Firebird

NETStandard2.0、net452

FreeSql.Provider.MsAccess

NETStandard2.0、net45、net40

FreeSql.Provider.Dameng

NETStandard2.0、net45、net40

基于 达梦数据库

FreeSql.Provider.ShenTong

NETStandard2.0、net45、net40

基于 神州通用数据库

FreeSql.Provider.KingbaseES

NETStandard2.0、net461

基于 人大金仓数据库

NETStandard2.0、net45、net40

基于 ODBC

FreeSql.Extensions.LazyLoading

NETStandard2.0、net45、net40

延时属性扩展包

FreeSql.Extensions.JsonMap

NETStandard2.0、net45、net40

Json 序列化扩展包

FreeSql.Extensions.Linq

NETStandard2.0、net45、net40

LinqToSql IQueryable 扩展包

FreeSql.Extensions.BaseEntity

NETStandard2.0

FreeSql.Generator

NETCoreapp3.1

从数据库生成实体类

系列文章导航

mysql入门 博客园_FreeSql (一)入门 – FreeSql – 博客园相关推荐

  1. Audition 入门系列(合集)_MediaTea的博客-CSDN博客

    Audition 入门系列(合集)_MediaTea的博客-CSDN博客 https://photoshoptea.blog.csdn.net/article/details/108211969?sp ...

  2. ps 入门 传智播客_如果您喜欢写博客,则应尝试播客。 这是入门方法。

    ps 入门 传智播客 by Jeff Meyerson 杰夫·梅耶森(Jeff Meyerson) 如果您喜欢写博客,则应尝试播客. 这是入门方法. (If you like blogging, yo ...

  3. linux宝塔搭建网站,宝塔Linux面板搭建网站入门教程五(宝塔Linux面板安装WordPress博客程序)...

    本文于 2021-04-01 00:04 更新,本文內容具有時效性,如有失效,請在博客站內搜相關商家名稱,即可查看到關於此商家的最新優惠活動! 國外商家建議使用"谷歌瀏覽器"訪問, ...

  4. 本博客停止更新,后续用博客园。

    本博客停止更新,后续用博客园. 博客园地址:https://www.cnblogs.com/weavepub 转载于:https://blog.51cto.com/msiyuetian/2400618

  5. mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客

    mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客

  6. 博客园页面定制html代码,博客园代码定制

    博客园代码定制 版本:2019-08-11 本文基于Simple Memory模板,且已获取CSS和JS权限,此版本并非最终版本. 如有错误请指出,代码开源可以修改完善,仅用于学习交流,转载时请注明出 ...

  7. 技术博客哪家强:CSDN、博客园、简书、开源中国OSChina等博客的详细分析比较

    技术博客哪家强 文章目录 技术博客哪家强 前言 为什么要写博客 技术博客哪家好 几家主要网站的对比 初步结论 参考资料 前言 最近这段时间不是很忙,想干点儿什么有意义的事儿.抽空系统学学Python这 ...

  8. (Python) 牛客 在线编程 python入门

    文章目录 前言 AC代码 01 输入输出 NP1 Hello World! NP2 多行输出 NP3 读入字符串 NP4 读入整数数字 NP5 格式化输出(一) NP6 牛牛的小数输出 02 类型转换 ...

  9. 博客园 页首html代码,可爱的博客园样式美化、自定义博客园主题样式

    cute-cnblogs 说明 "我经常有那种感觉,如果这个事情来了,你却没有勇敢地去解决掉,它一定会再来.生活真是这样,它会一次次地让你去做这个功课直到你学会为止." -- &l ...

  10. 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站

    这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...

最新文章

  1. Mysql数据库权限问题
  2. 回头再看N层架构(图解)
  3. hdu 4324 Triangle LOVE
  4. 底层实现_Java AOP的底层实现原理
  5. QT 010 Qt 4.2 在线手册含UML图解释 User's Guide Documentation
  6. iPhone 11降至3000元档,一顿降价猛如虎!
  7. 台式计算机优点英语作文,跪求一篇英语作文 题目:论计算机的优缺点
  8. 费率转换成利率的计算器_存款利率计算器
  9. 透视星环科技上市:基础工具、技术融合、场景应用三维击穿
  10. ORA-39194: Table mode jobs require the tables to be comma separated.
  11. mp3lame linux 编译,ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
  12. 怎么把一副图片用PS调成简笔画?
  13. telegram机器人开发3-最简单的代码
  14. win10如何删除用户计算机账户,win10电脑用户账户控制怎么取消_win10用户账户控制如何解除...
  15. Python 学习知识点梳理
  16. 331_S32K144 CAN FIFO初步
  17. 你浏览器的书签栏还够用么? - 程序员学点xx 特辑
  18. SQL查询语句起别名
  19. 手把手教你写出几十种让同事无法维护的代码!
  20. 练习参数化设计---不同频率LED灯闪烁

热门文章

  1. java 万年历绪论_基于安卓Android的万年历的设计与开发(含录像)
  2. Windows 控制台注册表工具 Reg
  3. 审车的时候环保怎样安全通过_审车环保3次不过怎么办,年检尾气不合格怎么办...
  4. 澳鹏Appen收购Quadrant:移动定位数据业务进一步增强
  5. ubuntu安装使用redis并设置开机启动
  6. 独家专访阿里云存储负责人吴结生:我经历的三个重大决策
  7. 超越前作,实现动漫风格迁移——AnimeGANv2
  8. Java获取本月有多少天
  9. android cts测试(编译源码获取cts测试包),如何通过Android CTS测试—testPackageSignatures...
  10. 盘点一下使用高德api踩得坑