Ниже часть класса СЧЕТА из нашего проекта:Entity Framework: как я могу обнаружить изменения, внесенные в сущность в другой форме?
public abstract class Invoice
{
public int InvoiceId { get; set; }
public int Status { get; set; }
public virtual ObservableCollection<OrderRequestStatus> OrderRequestStatuses { get; set; }
public EnumType.Follow Follow {get; set;
public string FicheNo { get; set; }
public DateTime Date_ { get; set; }
public DateTime? DueDate_ { get; set; }
public DateTime? ShipmentDateEstimated { get; set; }
public DateTime? ShipmentDate { get; set; }
public string DoCode { get; set; }
public int AccountId{ get; set; }
public virtual AccountLayer.Account Account { get; set; }
public int? SourceIndex{ get; set; }
public int CurrencyTypeId { get; set; }
public virtual CommonLayer.CurrencyType CurrencyType { get; set; }
public double CurrencyRate { get; set; }
public CommonLayer.InvoicePricing Price { get; set; }
public string GenExp1 { get; set; }
public string GenExp2 { get; set; }
public string GenExp3 { get; set; }
public string GenExp4 { get; set; }
public int? LogoInvoiceLogicalRef { get; set; }
public CommonLayer.TableLog Added { get; set; }
public CommonLayer.TableLog Edited { get; set; }
public CommonLayer.TableLog Cancelled { get; set; }
public virtual ObservableCollection<StoredProcedures.sp_OtherSalesandOffers> sp_OtherSalesandOffers { get; set; }
public Invoice()
{
OrderRequestStatuses = new ObservableCollection<OrderRequestStatus>();
sp_OtherSalesandOffers = new ObservableCollection<StoredProcedures.sp_OtherSalesandOffers>();
Price = new CommonLayer.InvoicePricing();
Added = new CommonLayer.TableLog();
Edited = new CommonLayer.TableLog();
Cancelled = new CommonLayer.TableLog();
}
Относящиеся код Контекст:
public TaksimGroupContext()
: base("Name=TaksimGroupContext")
{
this.Configuration.LazyLoadingEnabled = true;
this.Configuration.ValidateOnSaveEnabled = true;
this.Configuration.AutoDetectChangesEnabled = true;
this.Configuration.ProxyCreationEnabled = true;
}
У нас есть две формы: 1- ФАКТУРЫ 2- ФАКТУРЫ ПОДРОБНОСТИ
Форма 1 СЧЕТ ОБРАТНОЙ СВЯЗИ код
private void DataBind_grdInvoices()
{
(from a in base._Context.Invoices
orderby a.Date_
where a.Date_ > DateTime.Today.AddDays(-3650);
select a
).Load();
grdInvoicess.DataSource = base._Context.Invoices.Local.ToBindingList();
}
Форма 2 ОПИСАНИЕ: Invoice
Данные загружаются с той же логикой, как описано выше
Проблема в том:
Мы загружаем ФАКТУРУ from.Then мы выбираем один счет и открыт INVOICE DETAULS форму, которая содержит заголовок счета-фактуры (из класса счета-фактуры) и сведения о счете-фактуре (из класса Stline)
При внесении любых изменений в счет-фактуру (НЕ ДЕТАЛИ), например, мы меняем учетную запись, а затем сохраняем изменения, эти изменения не распознаются формой INVOICE.
EDIT: Точнее, эти изменения не обнаружены (которые мы также не пытаемся) не отразили на сетке.
Где мы делаем ошибку или какой другой метод мы должны соблюдать?
Заранее спасибо.
Как вы пытаетесь «обнаружить» изменения в форме СЧЕТА? –
Я не хочу :) Не должно быть автоматическим? Потому что я привязываю его к BindingList? См. Edit: Обнаружено и отражено должно быть более точным. –
Я понимаю проблему сейчас. Ожидается, что он будет автоматически обновляться в первой форме. Вы используете Winforms для этого? –