Обнаружьте, если объект присоединен к datacontext

Я не уверен, почему вы использовали бы здесь матрицу, если вы просто просматриваете один столбец.

Приведенный ниже код проверит через столбец (я могу сделать его динамическим диапазоном, если вы того пожелаете) и остановится на первой ячейке со значением «Нет требований» - он затем выведет адрес ячейки со значением и Нет "и выходит из цикла.

Sub RandomCol()

For Each cell In Worksheets("Calculations").Range("A1:A50")

    If cell.Value = "Yes" Or cell.Value = "No Requirement" Then

    ElseIf cell.Value = "No" Then
        Range("H33").Value = (cell.Address + " " + "No")
        Exit For
    End If

Next cell

End Sub
15
задан Blorgbeard 5 June 2013 в 19:45
поделиться

2 ответа

Интересно..., что делает GetOriginalEntityState возвратиться для неприложенного объекта? Даже если это выдаст исключение, то это, вероятно, будет быстрее, чем обновление...

(обновление) - тест показывает, что это возвращает пустой указатель:

        Customer cust = new Customer();
        Customer orig = ctx.Customers.GetOriginalEntityState(cust);
        Assert.IsNull(orig);

        cust = new Customer();
        ctx.Customers.Attach(cust);
        orig = ctx.Customers.GetOriginalEntityState(cust);
        Assert.IsNotNull(orig);
        Assert.AreNotSame(cust,orig);

Поэтому, возможно, используйте GetOriginalEntityState и проверьте на возвращенное значение пустого указателя...

22
ответ дан 1 December 2019 в 03:35
поделиться

Я думаю, что лучшим решением будет следующее:

ObjectStateEntry stateEntry = null;
if (context.ObjectStateManager.TryGetObjectStateEntry(entity, out stateEntry))
{
    //you know you are attached!
}

Найдено на http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/49e97c25-7325-457a-891b-8fd58c726f3e.

-1
ответ дан 1 December 2019 в 03:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: