2010-02-04 87 views
1

我有一个约1000行的概念表,我想清除它的属性表中的所有后代行(每个概念只能有一个属性行)。调用以下保存更改大约需要2分钟,是否可以对以下代码进行任何优化,还是需要编写存储产品?实体框架删除性能

public static void RemoveConcepts() 
{ 
    using (var ve = new DataModel()) 
    { 
    foreach (var concept in ve.Concepts) 
    { 
    if (concept.Thesaurus != null) 
    { 
    concept.Thesaurus.Concepts.Remove(concept); 
    } 
    concept.Thesaurus = null; 
    concept.Attributes.Load(); 
    concept.Attributes.Clear(); 
    ve.DeleteObject(concept); 
    } 
    ve.SaveChanges(); 
    } 
} 

Data Model http://img504.imageshack.us/img504/9604/datamodel.png

回答