如何删除两个动态对象之间的多对多关系?

发布于 2024-12-02 06:59:17 字数 351 浏览 1 评论 0原文

我想删除两个动态实体之间的多对多关系。

我见过使用虚拟对象的示例,但它们不是动态的。在运行时之前我不会知道对象或对象集合导航属性的名称。所以我不能只是说,

apple.Oranges.Remove(orange)

我需要动态地去做。比如,

dynamicModel.dynamicCollection(collectionName).Remove(otherDynamicModel)

我不一定需要扩展方法,只是需要完成工作的方法。我该怎么做?谢谢。

(由于对象是动态的,我不知道提供哪些其他详细信息可能会有所帮助?)

I want to delete the many-to-many relationship between two dynamic entities.

I've seen examples using dummy objects, but they were not dynamic. I will not know the object or the name of the objects' collection navigation properties until run-time. So I can't just say,

apple.Oranges.Remove(orange)

I need to do it dynamically. Something like,

dynamicModel.dynamicCollection(collectionName).Remove(otherDynamicModel)

I don't need extension methods necessarily, just something that gets the job done. How can I do this? Thanks.

(I don't know what other details might be helpful to provide since the objects are dynamic?)

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

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

发布评论

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

评论(1

秋心╮凉 2024-12-09 06:59:17

我认为在这种情况下你最好还是使用反射:

((dynamic)dynamicModel.GetType().GetProperty(collectionName)
   .GetValue(dynamicModel, null))
       .Remove(otherDynamicModel)

或者如果你知道它将是一个 IList

((IList)dynamicModel.GetType().GetProperty(collectionName)
   .GetValue(dynamicModel, null))
       .Remove(otherDynamicModel)

I think you're best off using reflection in this case still:

((dynamic)dynamicModel.GetType().GetProperty(collectionName)
   .GetValue(dynamicModel, null))
       .Remove(otherDynamicModel)

Or if you know it will be an IList

((IList)dynamicModel.GetType().GetProperty(collectionName)
   .GetValue(dynamicModel, null))
       .Remove(otherDynamicModel)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文