C ++: как передать функцию члена класса в pthread_create ()?
http://thispointer.com/c-how-to-pass-class -member-function-to-pthread_create /
typedef void * (*THREADFUNCPTR)(void *);
class C {
// ...
void *print(void *) { cout << "Hello"; }
}
pthread_create(&threadId, NULL, (THREADFUNCPTR) &C::print, NULL);
Стоит знать, что Entity Framework поддерживает как Linq to Entities, так и Entity SQL. Если вы обнаружите, что хотите выполнить удаление или обновление, которое потенциально может повлиять на многие записи, вы можете использовать эквивалент ExecuteNonQuery
.
В Entity SQL это может выглядеть так:
Using db As New HelloEfEntities
Dim qStr = "Delete " & _
"FROM Employee"
db.ExecuteStoreCommand(qStr)
db.SaveChanges()
End Using
В этом примере db
- это мой ObjectContext
. Также обратите внимание, что функция ExecuteStoreCommand
принимает необязательный массив параметров.
Извинения заранее, но я должен подвергнуть сомнению Вашу цель.
при удалении объекта, никогда не читая его, затем Вы не можете знать, изменил ли другой пользователь объект, промежуточный время, Вы подтвердили, что хотели удалить объект, и фактические удаляют. В "простом SQL", это было бы похоже на выполнение:
DELETE FROM FOO
WHERE ID = 1234
, Конечно, большинство людей на самом деле не делает этого. Вместо этого они делают что-то как:
DELETE FROM FOO
WHERE ID = 1234
AND NAME = ?ExpectedName AND...
Дело в том, что удаление должно перестать работать (ничего не делают), если другой пользователь изменил запись тем временем.
С этим, лучшим оператором проблемы, существует два возможных решения при использовании Платформы Объекта.
В Вашем Удалять метод, существующий экземпляр, сравнивают математические ожидания свойств и удаляют, если они - то же. В этом случае Платформа Объекта будет заботиться о записи Оператора удаления, который включает значения свойств.
Запись хранимая процедура, которая принимает и IDE и другие значения свойств, и выполняет это.
Существует способ имитировать, загружают объект путем перевычисления, это - EntityKey. Это похоже на определенный взлом, но могло бы быть единственным способом сделать это в EF.
статья Blog о Удаление, Не Выбирая
Я нашел это сообщение , который указывает, что действительно нет никакого лучшего способа удалить записи. Данное объяснение состояло в том, что все внешние ключи, отношения и т.д., которые уникальны для этой записи, также удалены, и таким образом, EF должен иметь корректную информацию о записи. Я озадачен тем, почему это не могло быть достигнуто, не загружая данные назад и вперед, но поскольку они не собираются происходить очень часто, я решил (на данный момент), что не обеспокоюсь.
, Если у Вас действительно есть решение этой проблемы, не стесняйтесь сообщать мне =)