我在使用LINQ to SQL的棕色地块项目中遇到了一个问题,即调用Table<T>.DeleteOnSubmitSQL查询结果,该查询中包含WHERE表中每列的子句.
这是默认行为吗?如何更改它以使其仅匹配主键?
编辑
要确认,生成的类有一个主键:
[Column(Name="id", Storage="_Id", AutoSync=AutoSync.OnInsert,
DbType="BigInt NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
public long Id
{
...
}
Run Code Online (Sandbox Code Playgroud)
是 - Linq-to-SQL数据模型具有UpdateCheck为任何表中的每个列调用的属性.该属性指示在更新行之前是否将使用该列来检查行是否未更改.
在删除行之前,该属性也用于检查行是否未更改.因此,如果您只是UpdateCheck = Never在模型中设置所有列(主键除外),那么您应该得到您正在寻找的内容.

| 归档时间: |
|
| 查看次数: |
223 次 |
| 最近记录: |