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);
    }
}

 

posted on 2016-01-26 17:35  空明流光  阅读(455)  评论(0编辑  收藏  举报

导航