mysql入门 博客园_FreeSql (一)入门 – FreeSql – 博客园
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 – 博客园相关推荐
- Audition 入门系列(合集)_MediaTea的博客-CSDN博客
Audition 入门系列(合集)_MediaTea的博客-CSDN博客 https://photoshoptea.blog.csdn.net/article/details/108211969?sp ...
- ps 入门 传智播客_如果您喜欢写博客,则应尝试播客。 这是入门方法。
ps 入门 传智播客 by Jeff Meyerson 杰夫·梅耶森(Jeff Meyerson) 如果您喜欢写博客,则应尝试播客. 这是入门方法. (If you like blogging, yo ...
- linux宝塔搭建网站,宝塔Linux面板搭建网站入门教程五(宝塔Linux面板安装WordPress博客程序)...
本文于 2021-04-01 00:04 更新,本文內容具有時效性,如有失效,請在博客站內搜相關商家名稱,即可查看到關於此商家的最新優惠活動! 國外商家建議使用"谷歌瀏覽器"訪問, ...
- 本博客停止更新,后续用博客园。
本博客停止更新,后续用博客园. 博客园地址:https://www.cnblogs.com/weavepub 转载于:https://blog.51cto.com/msiyuetian/2400618
- mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
mysql乐观锁总结和实践 - 青葱岁月 - ITeye博客
- 博客园页面定制html代码,博客园代码定制
博客园代码定制 版本:2019-08-11 本文基于Simple Memory模板,且已获取CSS和JS权限,此版本并非最终版本. 如有错误请指出,代码开源可以修改完善,仅用于学习交流,转载时请注明出 ...
- 技术博客哪家强:CSDN、博客园、简书、开源中国OSChina等博客的详细分析比较
技术博客哪家强 文章目录 技术博客哪家强 前言 为什么要写博客 技术博客哪家好 几家主要网站的对比 初步结论 参考资料 前言 最近这段时间不是很忙,想干点儿什么有意义的事儿.抽空系统学学Python这 ...
- (Python) 牛客 在线编程 python入门
文章目录 前言 AC代码 01 输入输出 NP1 Hello World! NP2 多行输出 NP3 读入字符串 NP4 读入整数数字 NP5 格式化输出(一) NP6 牛牛的小数输出 02 类型转换 ...
- 博客园 页首html代码,可爱的博客园样式美化、自定义博客园主题样式
cute-cnblogs 说明 "我经常有那种感觉,如果这个事情来了,你却没有勇敢地去解决掉,它一定会再来.生活真是这样,它会一次次地让你去做这个功课直到你学会为止." -- &l ...
- 分享Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站
这是个什么的项目? 使用 Node.js + Koa2 + MySQL + Vue.js 实战开发一套完整个人博客项目网站. 博客线上地址:www.boblog.com Github地址:https: ...
最新文章
- Mysql数据库权限问题
- 回头再看N层架构(图解)
- hdu 4324 Triangle LOVE
- 底层实现_Java AOP的底层实现原理
- QT 010 Qt 4.2 在线手册含UML图解释 User's Guide Documentation
- iPhone 11降至3000元档,一顿降价猛如虎!
- 台式计算机优点英语作文,跪求一篇英语作文 题目:论计算机的优缺点
- 费率转换成利率的计算器_存款利率计算器
- 透视星环科技上市:基础工具、技术融合、场景应用三维击穿
- ORA-39194: Table mode jobs require the tables to be comma separated.
- mp3lame linux 编译,ubantu-16+ndk-r14b 编译 ffmpeg-4.0.2+lame_mp3-3.99.5
- 怎么把一副图片用PS调成简笔画?
- telegram机器人开发3-最简单的代码
- win10如何删除用户计算机账户,win10电脑用户账户控制怎么取消_win10用户账户控制如何解除...
- Python 学习知识点梳理
- 331_S32K144 CAN FIFO初步
- 你浏览器的书签栏还够用么? - 程序员学点xx 特辑
- SQL查询语句起别名
- 手把手教你写出几十种让同事无法维护的代码!
- 练习参数化设计---不同频率LED灯闪烁
热门文章
- java 万年历绪论_基于安卓Android的万年历的设计与开发(含录像)
- Windows 控制台注册表工具 Reg
- 审车的时候环保怎样安全通过_审车环保3次不过怎么办,年检尾气不合格怎么办...
- 澳鹏Appen收购Quadrant:移动定位数据业务进一步增强
- ubuntu安装使用redis并设置开机启动
- 独家专访阿里云存储负责人吴结生:我经历的三个重大决策
- 超越前作,实现动漫风格迁移——AnimeGANv2
- Java获取本月有多少天
- android cts测试(编译源码获取cts测试包),如何通过Android CTS测试—testPackageSignatures...
- 盘点一下使用高德api踩得坑