【问题标题】:Possible Circular References in my Database Design我的数据库设计中可能的循环引用
【发布时间】:2013-10-22 11:03:25
【问题描述】:

我在玩 EF 和 Autofixture。我试图让 Autofixture 为我生成一些数据,但它回来说它在我的对象中找到了循环引用。

我不知道如何解决。

一个杂货店可以有很多用户(想想一个家庭共享同一个列表)

用户可以拥有一组他们经常去购物的首选商店。

购物清单当然可以有很多购物清单项目

用户可以指定某个商品只能在某个商店购买(UsersPreferredStore 可以有多个 GroceryListItems)

关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: sql entity-framework database-design circular-dependency


    【解决方案1】:

    你需要 7 张桌子:

    Users N : M Grocery list -> 因此三个表。一个用于用户,一个用于购物清单,一个用于链接两者。

    Users N : M Stores -> 还有两张表,一张用于商店,一张用于链接用户和商店

    Grocery List 1 : N GroceryListItems -> 一个用于购物清单项目的表,其中购物清单 id 作为 FK。

    Store N : M GroceryListItems -> 多一张表来链接商店和购物清单项目

    【讨论】:

    • 我添加了一张图片以帮助更好地可视化它。
    • @Jonysuise - 哇没想到会是这样的结果。我还有一些循环引用(看起来很容易做,尤其是当你首先编写代码时)我现在将有 50 个表,它会非常复杂。这又有什么好处呢?
    • 顺便说一句,是否有一些工具可以用来快速测试我的数据库或我的域(我正在使用 Code First EF)来解决这些依赖关系?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 1970-01-01
    • 2011-01-12
    • 2023-03-23
    相关资源
    最近更新 更多