linqpad使用方法备忘
1.使用EF更新数据库
void Main() { var items = (from item in CM_BookPages where item.BookID !=1 select item).ToList(); CM_BookPages.DeleteAllOnSubmit(items); SubmitChanges(); }
2.在SQL模式使用SQL语句更新数据库。
如果通SQL语句在LINQ PAD中更新数据,记得一定要使用GO来提交,否则不会产生效果的,貌似GO在这里就是提交事务的意思,并且每两条语句之间必须使用GO分隔。
UPDATE Table1 SET Field1='value' GO --没有这句事务不会提交 SELECT 1
3. LINQ PAD 中通过C# EF执行SQL语句:
var result = ExecuteQuery<int>("select 1"); result.Dump();
4. this 指的就是当前的DBContext实例。
5.使用当前数据库的连接字符串
using (var connection = new SqlConnection(this.Connection.ConnectionString)) { connection.Open(); }
6.同时使用两上以上的数据库
按住Ctrl键,将后续数据库直接拖放到源代码窗口中,就可以使用多个数据源了。如果是跨服务器的数据源,必须保证两台服务器是互通的。建立一个link server,然后在Linqpad建立连接的时候配置好 Link Server 即可。
打开菜单“Edit->Preference->Result”,最下面就可以修改这个数量限制。
8. 更新postgresql数据
void Main() { var item = T_Bp_School_Year_Term.First(x=> x.Uuid == "6539dcdfba2b49cfbae0"); item.Dump(); item.Start_Time = "2022-02-08"; item.End_Time = "2022-07-31"; this.Update(item); }
9.linq2db驱动,可数据库连接字符串格式如下:
server=192.168.0.1;uid=postgres;pwd=123;Pooling=true;database=bicp;
10. linq2db连接使用sqlite数据库示例
//连接字符串如下:Data Source=D:\data.db; //向数据库增加数据 void Main() { var book = new CM_Book(); book.BookName = "test"; book.OrderID = 0; this.InsertWithIdentity(book); }
更新示例:
void Main() { CM_BookPageDetails.Where(x=>x.Content.Contains("日:")).Set(x=> x.Content, x=> x.Content.Replace("日:","曰:")).Update(); CM_BookPageDetails.Where(x=>x.Content.Contains("日:")).ToList().Dump(); }
单条更新可以使用如下方法:
void Main() { foreach (var item in CM_BookPageDetails.ToList()) { item.Content = Regex.Replace(item.Content, @"\n+", "\n"); this.Update(item); } }
桂棹兮兰桨,击空明兮溯流光。