ObservableCollection در Entity Framework
نویسنده: شهروز جعفری
تاریخ: ۱۳۹۱/۰۵/۰۱ ۱۸:۵۷
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
private static void ListenToLocalChanges()
{
using (var context = new BreakAwayContext())
{
context.Destinations.Local.CollectionChanged += (sender, args) =>
{
if (args.NewItems != null)
{
foreach (Destination item in args.NewItems)
{
Console.WriteLine("Added: " + item.Name);
}
}
if (args.OldItems != null)
{
foreach (Destination item in args.OldItems)
{
Console.WriteLine("Removed: " + item.Name);
}
}
};
context.Destinations.Load();
}
}
با سلام.در پروژه WPF در لایه سرویس یکبار Local رابر میگردانم مانند زیر :public override IList<City> GetAll() { var query = from item in _tEntities select item; query.Load(); return _tEntities.Local; }همه چیز درست است ولی وقتی برای جستجو متد زیر را اجرا میکنم باز Local شامل همان دادههای قبلی است:public override IList<City> GetAll(Func<City, bool> predicate) { var query = from item in _tEntities select item; query.Where<City>(predicate); query.Load(); return _tEntities.Local; }لطفاً راهنمایی کنید.
public bool HasChanges()
{
return this.ChangeTracker.Entries().Any(e => e.State != EntityState.Unchanged);
}
public void RejectChanges()
{
foreach (var entry in this.ChangeTracker.Entries())
{
switch (entry.State)
{
case EntityState.Modified:
entry.State = EntityState.Unchanged;
break;
case EntityState.Added:
entry.State = EntityState.Detached;
break;
}
}
}
public abstract class BaseEntity
{
[ColumnInfo("کد",pWidth:70)]
public int Id { get; set; }
[ColumnInfo("",pIsVisible:false,pIsEditable:false)]
[NotMapped]
public bool IsDeleted { get; set; }
}