2013-03-11 3 views
0

У меня есть 2 классов со следующей установкой:Замок ActiveRecord DeleteAll на сдерживание belongsto

[ActiveRecord("ReceivedMessage")] 
class ARReceivedMessage : ARBase<ARReceivedMessage> 

и:

[ActiveRecord("ReceivedMessageReply")] 
class ARReceivedMessageReply : ARBase<ARReceivedMessageReply> 

[BelongsTo(Type = typeof(ARReceivedMessage), Column = "ReceivedMessageID")] 
public ARReceivedMessage Message { get; set; } 

При попытке очистить базу данных я сначала хочу, чтобы удалить все объекты ReceivedMessageReply перед удалением самого ReceivedMessage. В коде это привело меня к следующему:

Получить все receivedMessages я хочу удалить:

ARReceivedMessage[] messagesToDelete = ARReceivedMessage.GetAll(messageCriterion); 

Получить критерий для удаления всех ReceivedMessageReplys и удалить их:

ICriterion relatedCriterion = Restrictions.In("ReceivedMessageID", messagesToDelete); 
ARReceivedMessageReply.DeleteAll(relatedCriterion); 

Как-то ActiveRecord говорит мне следующее: не удалось решить объект: ReceivedMessageID of: ARReceivedMessageReply

Любая идея, где i m сделать ошибку?

Заранее спасибо

ответ

0

Как-то я должен был использовать следующее:

ICriterion relatedCriterion = Restrictions.In("Message", messagesToDelete); 

Так не имя_столбец/ИмениСвойство устанавливается ActiveRecord, но само имя свойства. Это было неожиданно ...