数据绑定到列表<>;使用实体框架

本文关键字:实体 框架 gt 列表 lt 数据绑定 | 更新日期: 2023-09-27 18:25:38

我有一个瘦dal,它使用实体框架(.net 4.0)公开CRUD操作

我可以有一个自动更新的列表来反映我的模型中的更新吗?它是一个单用户(服务)应用程序。

List<Advertisement> list = dal.GetActiveAdvertisements();

list.Count是5

dal.InsertActiveAdvertisements(newAdvertisement);

list.Count仍然是5,但我希望有6个条目。

我能做到吗?

感谢Jørgen

数据绑定到列表<>;使用实体框架

您要求做的事情很简单,但可能不是好的做法:

public class DAL {
    private List<Advertisement> _activeAdvertisements;
    public List<Advertisement> GetActiveAdvertisements() 
    {
        return _activeAdvertisements ?? _activeAdvertisements = // ... data access;
    }
    public void InsertActiveAdvertisements(Advertisement newAdvertisement)
    {
        var adList = GetActiveAdvertisements();
        adList.Add(newAdvertisements);
        // ... Add values to the database
    }
}

我个人不会这样做:

  1. 这不是线程安全的:如果两个线程同时尝试添加广告,您可能会遇到问题
  2. 很容易与数据库不同步。如果在DAL的另一个实例中添加了广告,该怎么办