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中设置为只读

希望这有帮助

谢谢,
Raja

Readonly设置为false,其他属性正在更新。当您逐步完成代码时,ResourceID和TypeID的属性正在设置,相关的设计器代码正在执行。请查看此链接:希望这有帮助。