Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 具有匿名类型的LINQPad LINQ到SQL更新_C#_Linq To Sql_Linqpad - Fatal编程技术网

C# 具有匿名类型的LINQPad LINQ到SQL更新

C# 具有匿名类型的LINQPad LINQ到SQL更新,c#,linq-to-sql,linqpad,C#,Linq To Sql,Linqpad,假设我在LINQPad中有以下针对SQL DB的查询(使用C#语句模式): 如果我想更新所选记录上的时段值,我认为我可以执行以下操作: query.Period = 5; SubmitChanges(); 但不幸的是,我在查询中出错。期间分配行: Property or indexer 'AnonymousType#1.Period' cannot be assigned to -- it is read only 是否可以以这种方式或类似方式执行更新?不,您不能。匿名类型不能具有可修改的属

假设我在LINQPad中有以下针对SQL DB的查询(使用C#语句模式):

如果我想更新所选记录上的时段值,我认为我可以执行以下操作:

query.Period = 5;
SubmitChanges();
但不幸的是,我在查询中出错。期间分配行:

Property or indexer 'AnonymousType#1.Period' cannot be assigned to -- it is read only

是否可以以这种方式或类似方式执行更新?

不,您不能。匿名类型不能具有可修改的属性。 从文件中:

匿名类型提供了一种封装一组 将只读属性转换为单个对象,而无需显式 首先定义一个类型


不管怎么说,这也没有什么意义。匿名类型有时非常有用,但当您需要使用Linq2Sql实体跟踪和更新时就不行了。

不,您不能。匿名类型不能具有可修改的属性。 从文件中:

匿名类型提供了一种封装一组 将只读属性转换为单个对象,而无需显式 首先定义一个类型


不管怎么说,这也没有什么意义。匿名类型有时非常有用,但当您需要使用Linq2Sql实体跟踪和更新时就不是了…

好吧,答案已经在

select new {}
即使它不是匿名类型,也只能是一个插入


沃尔特在他的回答中回答了其余的问题。

嗯,答案已经在

select new {}
即使它不是匿名类型,也只能是一个插入


沃尔特在回答中回答了其余的问题。

明白了。谢谢你的及时回复!明白了。谢谢你的及时回复!说得好。当您使用new关键字实例化一个新对象时,很明显您将无法更新原始数据集。谢谢,说得好。当您使用new关键字实例化一个新对象时,很明显您将无法更新原始数据集。谢谢