gpt4 book ai didi

c# - 在 XPO 对象中一次设置多个属性

转载 作者:行者123 更新时间:2023-11-30 16:37:30 26 4
gpt4 key购买 nike

我一直在尝试使用 C# 和 DevExpress,遇到了一种我找不到简单解决方案的情况。

我有三个对象:

  • 作者
  • 系列

  1. A Book收藏了 Author s(多对多)
  2. Author收藏了 Book s(多对多)
  3. A Series有两个集合; BooksAuthors
  4. 两者都是 BookAuthor有一个Series收藏

我的问题是每当我添加 BookSeries , Author (s) of that Book还应添加到 Series .

[Association("SeriesBooks")]
public XPCollection<Book> Books => GetCollection<Book>(nameof(Books));

[Association("SeriesAuthors")]
public XPCollection<Author> Authors
{
get { return GetCollection<Author>("Authors"); }
}

我考虑了以下几点:

  • 使用OnSaving事件
  • 为我的协会添加二传手
  • 使用AfterConstruction

但由于我是初学者,所以我实际上无法从中得到任何东西。

如果您能提供所有帮助,我会很高兴。

最佳答案

没有任何 DevExpress 经验,但如果您真的想要系列类(class)中作者的 Prop ,我会创建一个只读 Prop ,从书籍列表中读取作者。像这样的东西:

public List<Author> Authors { 
get {
Books.SelectMany(x => x.Authors).ToList();
}
}

这将消除维护单独的作者列表所涉及的工作。对系列中任何书籍的任何更改,包括书籍本身的添加和删除,或对书籍作者的任何更改,都将自动反射(reflect)在系列中,无需任何其他代码。

关于c# - 在 XPO 对象中一次设置多个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58075225/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com