EF4 (model ilk) uygulamasına denetim ekleme sürecindeyim. Değişikliklerdeki varlıklar üzerindeki yapısal özellikler hakkında detayları alabilirim. Birçok ilişkide ne zaman değişiklikler olduğunu görebilirim. Dahil olan türlerin ismini ve ne olduğunu (ekleme veya kaldırma) görebilirim ama gerçekten sevdiğim şey, ilişkide değişiklik yapan tarafların kimlikleridir. İşteEF4 Pek çok - çok sayıda ilişkide denetim değişiklikleri
Şu anda birçok ilişkilere birçok değişiklik izleme ne var:
var changes = context.ObjectStateManager.GetObjectStateEntries(EntityState.Added | EntityState.Deleted | EntityState.Modified);
var auditTime = DateTime.Now;
foreach (var change in changes)
{
if (change.Entity != null && change.Entity.GetType().Equals(typeof(AuditTrail)))
{
continue;
}
var detailsBuilder = new StringBuilder();
if (change.Entity == null & (change.State == EntityState.Added | change.State == EntityState.Deleted))
{
detailsBuilder.Append("A link between entities ");
foreach (var changedMember in change.EntitySet.ElementType.KeyMembers)
{
detailsBuilder.AppendFormat("{0}", changedMember.Name);
if(change.EntitySet.ElementType.KeyMembers.IndexOf(changedMember) < change.EntitySet.ElementType.KeyMembers.Count -2)
{
detailsBuilder.Append(", ");
}
else if (change.EntitySet.ElementType.KeyMembers.IndexOf(changedMember) == change.EntitySet.ElementType.KeyMembers.Count - 2)
{
detailsBuilder.Append(" and ");
}
}
detailsBuilder.AppendFormat(" was {0}.<br />", change.State);
}
}
nasıl ilişki değişikliğine ilgili ayrıntıları (veya hatta gerçek varlıkları) alabilirim?
İhtiyacım bilgiyi bulmak için başarmış birkaç saat daha üzerinde kurcalama sonra GÜNCELLEME
(ekli resme bakın). Ancak, verileri depolayan sınıflar iç mühürlü sınıflardır ve bu bilgileri geri almak için nesne durumu yöneticisini sorgulamak için genel bir giriş bulamıyorum. Bu yüzden değişimi denetleyebilirim.
Hiç bu anlamaya mı? – DDiVita
Hayır, ama @Icrepas'ın ümit vaat ettiği seçeneği hatırlıyorum, denemeye henüz başlamamıştım. – ilivewithian