У меня есть следующая простая модель данных:
Resource
{
ResourceId
ResourceName
}
UsageType
{
UsageTypeId
UsageTypeName
}
Usage
{
UsageId
UsageTypeId
ResourceTypeId
Percentage
}
Когда я изменяю значения UsageTypeId
, ResourceTypeId
и Percentage
для объекта Usage
, а затем запускаю SubmitChanges()
LINQ-to-SQL выдает только оператор SQL для изменения значения Percentage
(отслеживается через SQL Profiler).
Если я пошагово выполняю код, я вижу свойства, установленные для UsageTypeId
и ResourceTypeId
с правильными значениями, но они никогда не попадают в базу данных. Свойства содержат правильные значения вплоть до вызова SubmitChanges()
.
Я делаю изменения следующим образом:
Usage usage = {get the Usage object from the datacontext};
usage.ResourceId = newValue1;
usage.UsageTypeId = newValue2;
usage.Percentage = newValue3;
Что действительно раздражает, так это то, что если я вызываю метод из тестового прибора, он работает правильно и обновляет базу данных, но при вызове из любого места обновляются только столбцы без внешнего ключа.
Джеймс: -)