У меня есть следующие классы, которые представляют таблицы:
public class PriceDefinition
{
public virtual long Id{get;set;}
public virtual IList<Rule> Rules{get; set;}
public virtual IList<PriceDefinitionAddition> Additions{get; set;}
public virtual IList<CustomerPrice> CustomersPrices { get; set; }
public PriceDefinition() { }
}
public class Rule
{
public virtual long PriceDefinitionId { get; set; }
public virtual string FieldName { get; set; }
public virtual string Values { get; set; }
public virtual string Text { get; set; }
public Rule() { }
}
public class CustomerPrice
{
public virtual long Id { get; set; }
public virtual long CustomerId { get; set; }
public virtual long PriceDefinitionId { get; set; }
public virtual long TaskPriceId { get; set; }
public virtual Price TaskPrice { get; set; }
public virtual IList<CustomerAdditionPrice> AdditionsPrices { get; set; }
public CustomerPrice() { }
}
public class CustomerAdditionPrice
{
public virtual long CustomerPriceId { get; set; }
public virtual long AdditionId { get; set; }
public virtual long PriceId { get; set; }
public virtual Price Price { get; set; }
public CustomerAdditionPrice() { }
}
public class Price
{
public virtual long Id { get; set; }
public virtual decimal PriceSum { get; set; }
public virtual decimal PricePercent { get; set; }
public virtual long? UnitTypeId { get; set; }
public virtual UnitTypeWrapper UnitTypeWrapper { get; set; }
public UnitTypeEnum UnitType { get { return UnitTypeWrapper; } }
public Price() { }
}
public class PriceDefinitionAddition
{
public virtual long PriceDefinitionId { get; set; }
public virtual long AdditionId { get; set; }
public PriceDefinitionAddition() { }
}
У меня есть идентификатор PriceDefinition, и я должен удалить все связанные данные. Должен ли я перебирать всю эту сложную структуру? Как я могу использовать include, а затем загрузить объект, чтобы загрузить всю структуру? Есть ли простой способ удалить всю эту структуру?
У меня есть объект PriceDefinition, и я должен вставить все связанные с ним данные. Как я могу сделать это так, чтобы при вызове SaveChanges все идентификаторы получали соответствующие значения? Нужно ли повторять все элементы, чтобы вставить их все?