只是一个简单的问题。我正在尝试创建一个简单的 friend 数据库测试应用程序,只是为了学习 Visual Studio 2010 Entity Framework 和 MySQL。问题是,我不知道这对不对。
这是我当前模型的图片:
问题是,为什么会有两个 friend 的导航属性和两个帐户导航属性。我本以为 friend 实体可能是唯一具有两个帐户导航属性的实体,这样我就可以访问这两个 friend 的帐户。
这是我的表格布局:
- 帐号:
- idaccounts - 主键,不为空
- nick - 用户昵称
- friend :
- idfriends - 主键,不为空
- friend_one - 第一个账号
- friend_two - 第二个好友号码
- status - 包含友谊的状态(1. Pending, 2. Accepted, 3. Rejected)
此外,我在 friends 表中创建了两个指向 accounts 表的外键。一个名为 friend_one,它使用 friend 表中的 friend_one 列来引用 accounts 表。另一个名为 friend_two,它使用 friend_two 列来引用帐户表。
这是正常的做法,还是有更好更理智的方式?
最佳答案
我觉得很正常。如果某个帐户有多个好友,您只需在 Friend 表中再添加一行即可。
但是,我强烈建议您阅读一些有关数据库规范化的内容,如果您还没有阅读的话:) 也许从wikipedia 开始。
关于c# - Entity Framework 和 friend 数据库的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12080401/