【问题标题】:LINQPad "The name SubmitChanges does not exist"LINQPad“名称 SubmitChanges 不存在”
【发布时间】:2019-11-05 23:15:31
【问题描述】:

在虚拟机 win 10 上使用 LINQPad 5。选择查询有效,现在我尝试使用更新查询,它给了我关于 SubmitChanges() 方法的错误。

CS0103 当前上下文中不存在名称“SubmitChanges”。

基本上,我找到的所有答案都是这样的:如果您使用的是 EF,请编写 SubmitChanges() 或 SaveChanges()。我还尝试从 C# Statements 更改为 C# Program。

How to submit changes in LinqPad

在一个答案中,用户可能不会添加连接,我这样做了。 (屏幕 1) LINQpad: Global function SubmitChanges not found

然后我尝试将“this”传递给一个方法,在我的例子中,“this”是一个 UserQuery,而不是 DataContext。 (屏幕 2)这很奇怪。

linqpad - SubmitChanges Extension

void Main()
{
var ret =from t in Tbblankimages where t.Comment == "1234" select     t;    
var im = ret.First();   
MemoryStream ms = new MemoryStream();
using (FileStream file = new     FileStream("E:\\saved.jpg",FileMode.Open,System.IO.FileAccess.Read))
{
file.CopyTo(ms);
}
byte[] imageData= ms.ToArray();
im.Image = imageData;   
Test(this);
}
static void Test(System.Data.Linq.DataContext c)
{
 c.SubmitChanges();
}

带有错误消息的屏幕截图:

https://imgur.com/a/18a7lSo(屏幕 1)

https://imgur.com/a/Nipp7t5(屏幕 2)

我还应该补充一点,数据库是 PostgreSQL,我从这里使用自定义驱动程序: https://github.com/fknx/linqpad-postgresql-driver Postgresql 的版本是 11.3-4-windows-x64

【问题讨论】:

    标签: virtual-machine linqpad submitchanges


    【解决方案1】:

    有时 Linqpad 会断开连接并导致此问题。
    我点击左上角的Refresh按钮来解决这个问题。

    【讨论】:

      【解决方案2】:

      使用 postgresql 驱动程序会有所不同:

      https://github.com/fknx/linqpad-postgresql-driver

         var user = Users.Single(u => u.Id == 42);
      
         user.Emailaddress = "john.doe@abc.com";
      
         this.Update(user);
      

      【讨论】:

        猜你喜欢
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 2016-11-06
        • 1970-01-01
        • 2021-02-18
        • 2016-08-31
        • 1970-01-01
        • 2013-02-19
        相关资源
        最近更新 更多