【问题标题】:EMF Modeling question: container and containmentEMF 建模问题:容器和容器
【发布时间】:2021-01-26 06:58:42
【问题描述】:

我熟悉 Entity Framework 和 Visual Studio 中的代码优先设计,但我对 Eclipse 很熟悉。也就是说,我试图了解 eReference 属性的某些属性如何在 ecore 模型中转换。具体来说,当我读到关于容器和收容的内容时,我发现自己迷路了。这些字段是否可以以某种方式转换为 SQL 外键关系或实体模型对象关系?我可以很好地理解这两个。具体来说,无论是 SQL 还是 EF 术语,container=true 时是什么意思,containment=true 时是什么意思。

【问题讨论】:

    标签: eclipse ecore


    【解决方案1】:

    我不熟悉 SQL 或 EF,但从我所阅读的内容来看,外键更像是 EReference(其他字段是 EAttribute,“主键”是 isID 设置为 true 的 EAttribute)。

    Ecore 中的遏制是 EReference 的一个特例。关键部分是一个 EObject 只能被另一个 EObject 包含。我认为最好的办法是让您在一个简单的 Ecore 元模型上进行尝试!

    【讨论】:

    • 那么,如果一个 EObject 只被另一个 EObject 包含,这将设置在一对多关系的多方面还是一方面?例如,customers:orders 会是一对多的关系吗?我假设正确设置它会允许数据的实际对象表示,并允许我从任何一个给定的客户对象中获取(在上面的示例中)一组订单对象。
    • 在 EReference 上设置了包含属性。 EReference 属于 EClass(EReference 的“出发点”或“包含对象”,就像在 Java 中定义引用离开的类中的属性/引用一样)所以从这个意义上说,是的包含在 set on关系的“一方”。从 EClass "Customer" 到 EClass "Order" 的引用,其多重性上限为 * 将在 Customer 对象中访问 Order 对象列表,是的。 “订单项的生命周期是否由客户控制?”确定这是否是一个收容措施
    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多