我在Linq遇到了问题。当我查询时,我得到表中的所有内容。但我不想加载某些标有某个特殊键Y
的行。
所以,为此,我正在迭代并从我的本地副本中删除具有特殊键Y
的那些。
稍后,当我提交更改时,我收到错误:
"An attempt was made to remove a relationship between a priceTable and a dataTable. However, one of the relationship's foreign keys (P.Id) cannot be set to null."
为什么会这样?如何在不触及某些行的情况下更改特定实体集的内容?
我希望不会从数据库返回标记为Y
的行。我不想在运行时在我的c#中使用它们。
答案 0 :(得分:0)
丹尼斯是对的。如果您不需要标记为“Y”的记录,则使用where子句并排除这些记录。然后,您可以自由地修改记录并将其更新回数据库而不会出现任何问题。
示例where子句如下所示
var data = from p in context.Persons
where p.Required == "Y"
select p;