Платформа объекта удаляет объектную проблему

Компилятор не может вывести тип из контекста.

Что не так с выполнением

template<typename Y>
Y foo(Y bar){return bar;}

и нужно ли передавать bar по значению?

В вашем случае вы можете использовать синтаксис трейлинг-возврата: :

auto foo(auto bar) -> decltype(bar)

14
задан Ibrahim AKGUN 1 August 2009 в 17:21
поделиться

2 ответа

Вам необходимо прикрепить объект к ObjectContext . Попробуйте:

NEW_TABLE del = (NEW_TABLE)listView1.SelectedItems[0].Tag;
arama.Attach(del);
arama.DeleteObject(del);
arama.SaveChanges();

Присоединенные объекты отслеживаются ObjectContext . Это необходимо для выполнения удалений и обновлений. Вы можете узнать больше о прикреплении объектов в MSDN.

Отредактируйте, чтобы уточнить присоединение / отсоединение:

private void Form1_Load(object sender, EventArgs e) {
    FirebirdEntity asa = new FirebirdEntity();

    ObjectQuery<NEW_TABLE> sorgu = asa.NEW_TABLE;
    foreach (var item in sorgu) {
        asa.Detach(item);
        // add to listView1
    }
}

Кроме того, вы должны заключить использование ObjectContext в , используя блоки.

Это необходимо для выполнения удалений и обновлений. Вы можете узнать больше о прикреплении объектов в MSDN.

Отредактируйте, чтобы уточнить прикрепление / отсоединение:

private void Form1_Load(object sender, EventArgs e) {
    FirebirdEntity asa = new FirebirdEntity();

    ObjectQuery<NEW_TABLE> sorgu = asa.NEW_TABLE;
    foreach (var item in sorgu) {
        asa.Detach(item);
        // add to listView1
    }
}

Кроме того, вы должны заключить использование ObjectContext в , используя блоки.

Это необходимо для выполнения удалений и обновлений. Вы можете узнать больше о прикреплении объектов в MSDN.

Отредактируйте, чтобы уточнить присоединение / отсоединение:

private void Form1_Load(object sender, EventArgs e) {
    FirebirdEntity asa = new FirebirdEntity();

    ObjectQuery<NEW_TABLE> sorgu = asa.NEW_TABLE;
    foreach (var item in sorgu) {
        asa.Detach(item);
        // add to listView1
    }
}

Кроме того, вы должны заключить использование ObjectContext в , используя блоки.

28
ответ дан 1 December 2019 в 06:54
поделиться

In your method "Form1_Load" you create a FIRST instance of your "FirebirdEntity" context an fill the ListViewItem with entities selected from this context

In your method "button3_Click" you create a NEW, SECOND instance of your "FirebirdEntity" context. Then you try to delete an entity in this SECOND context, which was selected in the FIRST context.

Use the same instance of your context in both of your methods and everything will work fine.

(Alternatively you can select the entity you want to delete a from your SECOND context and then delete this entity instead of the origin one)

5
ответ дан 1 December 2019 в 06:54
поделиться
Другие вопросы по тегам:

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