所以我正在研究一个MVC项目来完成我一直在做的学习。我正在努力解决数据库表关系和外键的概念。我正在开发一个简单的电子商务网站(显示产品,购物车,用户帐户等)。
我开始使用以下表格:
1)产品 2)分类
我将Products和Categories表设置为分别具有ProductId和CategoryId。在我的MySQL数据库中,我在Products Table上创建了一个FK,以与Categories表上的CategoryId字段相关联(我不确定这是否正确)。
我对数据库处理表关系的方式的期望:如果我从Categories表中删除了一个类别,我不希望DB对products表做任何事情,反之亦然。唯一的事情是,如果删除了类别,则产品中的类别字段将为空(或默认)。
最后,我是否必须在我的实体类中执行任何操作,例如在Products类中,将ProductId添加到Category.ProductId?
最终,当我订购项目的订单和用户时,我可以看到每个用户的关系 - >许多订单 - >每个订单都有很多产品 - >每种产品都属于一个类别。
但我很难理解我应该如何或者是否应该在产品和类别的两个当前表中建立外键关系,如果是,那么如何设置与该FK相关的实体类。
任何建议。
答案 0 :(得分:0)
根据我的经验(使用L2S),您不希望指定表之间的任何关系。我自己完成了PK,FK逻辑。这使得L2S生成的对象变得简单,并且很可能是您在SQL之前使用它们的方式。对我来说至少就是这种情况。