Freesql adalah komponen O/RM yang kuat, mendukung .NET Core 2.1+, .NET Framework 4.0+, Xamarin, dan AOT.
Bahasa Inggris | 中文
Grup QQ : 561616019 (Tersedia) 、 4336577 (penuh) 、 8578575 (penuh) 、 52508226 (penuh)
| Mulai | Pilih | UPDATE | Masukkan | Hapus | FAQ |
| Ekspresi | Codefirst | Dbfirst | Filter | AOP |
| Repositori | Unitofwork | Operasi Dinamis | RIBUT |
| Baca/Tulis | Tabel pemisahan | Sembunyikan Tech | Perbarui Catatan |
Pilih mode pengembangan:
Beberapa proyek open source yang menggunakan freesql:

dotnet tambahkan paket freesql.provider.sqlite
static IFreeSql fsql = new FreeSql . FreeSqlBuilder ( )
. UseConnectionString ( FreeSql . DataType . Sqlite , @"Data Source=document.db" )
. UseAutoSyncStructure ( true ) //automatically synchronize the entity structure to the database
. Build ( ) ; //be sure to define as singleton mode
class Song {
[ Column ( IsIdentity = true ) ]
public int Id { get ; set ; }
public string Title { get ; set ; }
public string Url { get ; set ; }
public DateTime CreateTime { get ; set ; }
public ICollection < Tag > Tags { get ; set ; }
}
class Song_tag {
public int Song_id { get ; set ; }
public Song Song { get ; set ; }
public int Tag_id { get ; set ; }
public Tag Tag { get ; set ; }
}
class Tag {
[ Column ( IsIdentity = true ) ]
public int Id { get ; set ; }
public string Name { get ; set ; }
public int ? Parent_id { get ; set ; }
public Tag Parent { get ; set ; }
public ICollection < Song > Songs { get ; set ; }
public ICollection < Tag > Tags { get ; set ; }
} //OneToOne、ManyToOne
fsql . Select < Tag > ( ) . Where ( a => a . Parent . Parent . Name == "English" ) . ToList ( ) ;
//OneToMany
fsql . Select < Tag > ( ) . IncludeMany ( a => a . Tags , then => then . Where ( sub => sub . Name == "foo" ) ) . ToList ( ) ;
//ManyToMany
fsql . Select < Song > ( )
. IncludeMany ( a => a . Tags , then => then . Where ( sub => sub . Name == "foo" ) )
. Where ( s => s . Tags . Any ( t => t . Name == "Chinese" ) )
. ToList ( ) ;
//Other
fsql . Select < YourType > ( )
. Where ( a => a . IsDelete == 0 )
. WhereIf ( keyword != null , a => a . UserName . Contains ( keyword ) )
. WhereIf ( role_id > 0 , a => a . RoleId == role_id )
. Where ( a => a . Nodes . Any ( t => t . Parent . Id == t . UserId ) )
. Count ( out var total )
. Page ( page , size )
. OrderByDescending ( a => a . Id )
. ToList ( )Lagi..
fsql . Select < Song > ( ) . Where ( a => new [ ] { 1 , 2 , 3 } . Contains ( a . Id ) ) . ToList ( ) ;
fsql . Select < Song > ( ) . Where ( a => a . CreateTime . Date == DateTime . Today ) . ToList ( ) ;
fsql . Select < Song > ( ) . OrderBy ( a => Guid . NewGuid ( ) ) . Limit ( 10 ) . ToList ( ) ;
fsql . Select < Song > ( ) . ToList ( a => new
{
a . Id ,
Tags = fsql . Select < Tag > ( ) . ToList ( ) ,
SongTags = fsql . Select < SongTag > ( ) . Where ( b => b . TopicId == a . Id ) . ToList ( )
} ) ;Lagi..
dotnet tambahkan paket freesql.repository
[ Transactional ]
public void Add ( ) {
var repo = ioc . GetService < BaseRepository < Tag > > ( ) ;
repo . DbContextOptions . EnableCascadeSave = true ;
var item = new Tag {
Name = "testaddsublist" ,
Tags = new [ ] {
new Tag { Name = "sub1" } ,
new Tag { Name = "sub2" }
}
} ;
repo . Insert ( item ) ;
} Referensi: Gunakan TransactionalAttribute dan UnitOfWorkManager di ASP.NET Core untuk mencapai perambatan transaksi berganda .
Freesql Query & Dapper Query
Elapsed: 00:00:00.6733199 ; Query Entity Counts: 131072 ; ORM: Dapper
Elapsed: 00:00:00.4554230 ; Query Tuple Counts: 131072 ; ORM: Dapper
Elapsed: 00:00:00.6846146 ; Query Dynamic Counts: 131072 ; ORM: Dapper
Elapsed: 00:00:00.6818111 ; Query Entity Counts: 131072 ; ORM: FreeSql *
Elapsed: 00:00:00.6060042 ; Query Tuple Counts: 131072 ; ORM: FreeSql *
Elapsed: 00:00:00.4211323 ; Query ToList < Tuple > Counts: 131072 ; ORM: FreeSql *
Elapsed: 00:00:01.0236285 ; Query Dynamic Counts: 131072 ; ORM: FreeSql *Freesql Tolist & Dapper Query
Elapsed: 00:00:00.6707125 ; ToList Entity Counts: 131072 ; ORM: FreeSql *
Elapsed: 00:00:00.6495301 ; Query Entity Counts: 131072 ; ORM: DapperLagi..
Dan teman -teman lain yang membuat saran penting untuk proyek ini, mereka termasuk:
systemhejiyong, LambertW, mypeng1985, stulzq, movingsam, ALer-R, zouql, 深圳|凉茶, densen2014, LiaoLiaoWuJu, hd2y, tky753, feijie999, constantine, JohnZhou2020, mafeng8, VicBilibily, Soar, quzhen91, homejun, d4ily dll
L*y 58 元、花花 88 元、麦兜很乖 50 元、网络来者 2000 元、 John 99.99 元、 Alex 666 元、 Bacongao 36 元、无名 100 元、 Keabadian 188 元、无名 10 元、⌒.Helper ~ ..OO 66 元、习惯与被习惯 100 元、无名 100 元、蔡易喋 88.88 元、中讯科技 1000 元、 kerja bagus 24 元、 tidak ada yang 100 元、兰州天擎赵 元、哈利路亚 元、哈利路亚 元、无名 元、无名 元、无名 元、无名 元、无名 元、无名 元、无名 元、中讯科技 元、中讯科技 元、中讯科技 元、中讯科技 元、中讯科技 元、中讯科技 元、中讯科技 元、中讯科技 元、哈利路亚 元、哈利路亚 元、中讯科技 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、蛰伏 元、蛰伏 元、哈利路亚 元、哈利路亚 元、蛰伏 元、蛰伏 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、蛰伏 元、蛰伏 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、哈利路亚 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、哈利路亚 元、哈利路亚 元、蛰伏 元、哈利路亚 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、蛰伏 元、中讯科技 元、中讯科技 元、蛰伏 元、中讯科技 元、蛰伏 ia 66.66 元、 Mota 5 元、 ldzxg 30 元、 Dekat 30 元、建爽 66 元、无名 200 元、 lambertwu 100 元、无名 18.88 元、乌龙 50 元、无名 100 元、陳怼怼 66.66 元、陳怼怼 66.66 元、丁淮 100 元、李伟坚-excel 催化剂 100 元、白狐 6.66 元、她微笑的脸 y 30 元、 keabadian yang ke-ab. 10 元、 litrpa 88 元、 Alax chow 200 元、 setiap hari 66 元、 k*t 66 元、蓝 100 元、*菜 10 元、生命如歌 1000 元、山鸡 88 元、平凡 100 元、大树 1000 元、软软的毛毛虫 66.66 元、问卷星 2000 元、与你无关 5000 元
Terima kasih atas donasi Anda
Alipay
Wechat wechat
Mit