удалить в рамках сущности - PullRequest
0 голосов
/ 19 сентября 2011

я использую этот код для удаления записей в структуре сущностей (несколько записей)

var tag = from t in objLib.TagsField where t.Book_ID_FK == id select t;
            foreach (var t in tag)
            {
                objLib.TagsField.Context.DeleteObject(t);
                objLib.SaveChanges();
            }

как я могу удалить его без использования для каждого этого кода (это занимает время !!)

Ответы [ 3 ]

1 голос
/ 19 сентября 2011

После этого вы просто вызываете SaveChanges:

var tag = from t in objLib.TagsField where t.Book_ID_FK == id select t;
        foreach (var t in tag)
        {
            objLib.TagsField.Context.DeleteObject(t);
        }
 objLib.SaveChanges();
0 голосов
/ 15 января 2014

Я использовал это, чтобы добиться того же самого ... и я использую Entity Framework 5. Я знаю, что блок Using () можно использовать и рекомендуется, но вот основные команды, которые работают для меня просто для добавления некоторые альтернативы:

/// <summary>
/// Method that will remove a favorite from the tblfavorite table.
/// </summary>
/// <param name="favoriteID"></param>
/// <returns></returns>
public Boolean DeleteFavoriteByFavoriteID(Int32 favoriteID)
{
    //Assume not found.
    IsFound = false;

    //Query the DB.
    var MatchedRec = (from f in dbContext.tblfavorites
                      where f.FavoriteID == favoriteID
                      select f).FirstOrDefault();

    //See if anything was found.
    if (MatchedRec != null)
    {
        IsFound = true;

        dbContext.tblfavorites.Remove(MatchedRec);
        dbContext.SaveChanges();
        return true;
    }

    //Default.
    return false;
}
0 голосов
/ 19 сентября 2011

Удаление с помощью LINQ перенесет все удаляемые строки в память. Если они не находятся в памяти, будет быстрее выполнить оператор SQL для удаления строк из базы данных.

Кроме этого, я бы попробовал ответить Дэвидсу, поскольку EF может выдавать обновления вместе ... Я думаю, это также улучшило бы некоторые.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...