Linq to sql LINQ到SQL更新无法正常工作
我有以下简单的数据模型:Linq to sql LINQ到SQL更新无法正常工作,linq-to-sql,Linq To Sql,我有以下简单的数据模型: Resource { ResourceId ResourceName } UsageType { UsageTypeId UsageTypeName } Usage { UsageId UsageTypeId ResourceTypeId Percentage } 当我更改UsageTypeId对象上的ResourceTypeId和Percentage值,然后发出SubmitChanges()LINQ to SQL只
Resource
{
ResourceId
ResourceName
}
UsageType
{
UsageTypeId
UsageTypeName
}
Usage
{
UsageId
UsageTypeId
ResourceTypeId
Percentage
}
当我更改UsageTypeId
对象上的ResourceTypeId
和Percentage
值,然后发出SubmitChanges()
LINQ to SQL只发出一条SQL语句来更改Percentage
值(通过SQL探查器监控)
如果我一步一步地浏览代码,我会看到为UsageTypeId
和ResourceTypeId
设置的属性值正确,但它们从未进入数据库。在调用SubmitChanges()
之前,这些属性一直保持正确的值
我正在做如下修改:
Usage usage = {get the Usage object from the datacontext};
usage.ResourceId = newValue1;
usage.UsageTypeId = newValue2;
usage.Percentage = newValue3;
真正令人恼火的是,如果我从测试夹具调用该方法,它将正常工作并更新数据库,但是当从其他任何地方调用时,只有none外键列被更新
James:-)首先检查您是否在where子句中使用UsageID以获得适当的用法 接下来检查这些属性(ResourceID和UsageTypeID)是否在DBML中设置为只读 希望这有帮助 谢谢,
RajaReadonly设置为false,其他属性正在更新。当您逐步完成代码时,ResourceID和TypeID的属性正在设置,相关的设计器代码正在执行。请查看此链接:希望这有帮助。