数据绑定到列表<>与实体框架

发布于 2025-01-08 16:52:37 字数 382 浏览 2 评论 0 原文

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

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

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

list.Count 是 5

dal.InsertActiveAdvertisements(newAdvertisement);

list.Count 仍然是 5,但我想要 6 个条目。

我能完成这个任务吗?

谢谢约尔根

I have a thin dal which exposes CRUD operations using Entity Framework (.net 4.0)

Can I have a List that gets updated automatically to reflect updates in my model? It is a single user (service) application.

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

list.Count is 5

dal.InsertActiveAdvertisements(newAdvertisement);

list.Count is still 5 but i would like to have 6 entries.

Can I accomplish this?

Thanks Jørgen

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情归归情 2025-01-15 16:52:37

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

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 的不同实例中添加广告会怎样?

What you're asking to do is easy, but probably not good practice:

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
    }
}

I wouldn't personally do things this way:

  1. It's not thread safe: if two threads try adding an advertisement at the same time, you may have problems.
  2. It's easy to get out of sync with the database. What if an advertisement gets added in a different instance of DAL?
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文