FreeSql (七)插入資料時忽略列

2022-01-13 05:20:25 字數 2084 閱讀 3427

var connectionstring = "data source=127.0.0.1;port=3306;user id=root;password=root;" + 

"initial catalog=cccddd;charset=utf8;sslmode=none;max pool size=10";

static ifreesql fsql = new freesql.freesqlbuilder()

.useconnectionstring(freesql.datatype.mysql, connectionstring)

.useautosyncstructure(true) //自動同步實體結構到資料庫

.build(); //請務必定義成 singleton 單例模式

class topic

public int clicks

public string title

public datetime createtime

}var items = new list();

for (var a = 0; a < 10; a++) items.add(new topic ", clicks = a * 100 });

fsql.insert(items).ignorecolumns(a => a.createtime).executeaffrows();
執行sql如下:

insert into `tb_topic`(`clicks`, `title`) 

values(@clicks0, @title0), (@clicks1, @title1),

(@clicks2, @title2), (@clicks3, @title3),

(@clicks4, @title4), (@clicks5, @title5),

(@clicks6, @title6), (@clicks7, @title7),

(@clicks8, @title8), (@clicks9, @title9)

fsql.insert(items).ignorecolumns(a => new ).executeaffrows();
執行sql如下:

insert into `tb_topic`(`clicks`) 

values(@clicks0), (@clicks1), (@clicks2), (@clicks3), (@clicks4),

(@clicks5), (@clicks6), (@clicks7), (@clicks8), (@clicks9)

方法

返回值引數

描述t1 | ienumerable

追加準備插入的實體

insertidentity

無指明插入自增列

insertcolumns

lambda

只插入的列

ignorecolumns

lambda

忽略的列

commandtimeout

int命令超時設定(秒)

withtransaction

dbtransaction

設定事務物件

withconnection

dbconnection

設定連線物件

tosql

string

返回即將執行的sql語句

executeaffrows

long

執行sql語句,返回影響的行數

executeidentity

long

執行sql語句,返回自增值

executeinserted

list

執行sql語句,返回插入後的記錄

executesqlbulkcopy

void

sqlserver 特有的功能,執行 sqlbulkcopy 批量插入的封裝

executepgcopy

void

postgresql 特有的功能,執行 copy 批量匯入資料

FreeSql (十三)更新資料時忽略列

static ifreesql fsql new freesql.freesqlbuilder useconnectionstring freesql.datatype.mysql,connectionstring useautosyncstructure true 自動同步實體結構到資料庫 bui...

FreeSql (五)插入資料

var connectionstring data source 127.0.0.1 port 3306 user id root password root initial catalog cccddd charset utf8 sslmode none max pool size 10 stat...

FreeSql 插入資料返回自增值

freesql是乙個功能強大的 net orm 功能庫,支援 netframework 4.0 netcore 2.1 xamarin 等支援 netstandard 所有執行平台。以 mit 開源協議託管於 github freesql 插入資料的方式有多種,這篇文章教你用最優的方案做資料插入功能...