LINQ Clear () не удаляет строки из базы данных - PullRequest
2 голосов
/ 14 августа 2011

У меня есть db-таблица, которая выглядит следующим образом:

CREATE TABLE ItemPrice
(
    [Identity]    INT    IDENTITY,
    Item_FK       INT    NOT NULL   REFERENCES Item([Identity]),
    PriceList_FK  INT    NOT NULL   REFERENCES PriceList([Identity]),
    Price         FLOAT  NOT NULL,
    PRIMARY KEY ([Identity])
)

Если я, то в моем контексте linq используйте Clear() на одном из моих PriceList экземпляров, подобных этому, где Currenta PriceList:

Current.ItemPrices.Clear();

Элементы в ItemPrice не удалены.PriceList_FK просто устанавливается на NULL, и затем БД конфликтует с NOT NULL.

Как заставить базу данных удалить все строки.

1 Ответ

3 голосов
/ 14 августа 2011

То, что я сделал, было просто вызвать удаление в самой Таблице, неясно для ссылающихся Объектов, например:

Database.Accounting.ItemPrices.DeleteAllOnSubmit(Current.ItemPrices);

(Учет - это контекст данных Linq)

...