c# - Entity Framework 和 friend 数据库的问题

标签 c# mysql database entity-framework

只是一个简单的问题。我正在尝试创建一个简单的 friend 数据库测试应用程序,只是为了学习 Visual Studio 2010 Entity Framework 和 MySQL。问题是,我不知道这对不对。

这是我当前模型的图片:

问题是,为什么会有两个 friend 的导航属性和两个帐户导航属性。我本以为 friend 实体可能是唯一具有两个帐户导航属性的实体,这样我就可以访问这两个 friend 的帐户。

这是我的表格布局:

  • 帐号:
    1. idaccounts - 主键,不为空
    2. nick - 用户昵称
  • friend :
    1. idfriends - 主键,不为空
    2. friend_one - 第一个账号
    3. friend_two - 第二个好友号码
    4. 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/

相关文章:

c# - 无法捕获 Winforms 中未处理的异常

c# - 如何将所有路由复制为伪装的子目录

mysql - mysql中根据条件从三个表中选择

java - 使用 Liquibase 和 Spring 合并来自数据库的值

security - 需要有关如何使用加密数据库创建网站的建议

c# - 避免神奇的字符串和数字

c# - 在没有管理员权限的 Linux 中运行 .NET 解决方案文件

javascript - Node/Express/mysql 如何在jade 页面中获取SQL 结果?

sql - 结合两个 MySQL 查询(一个选择另一个的内容)

ruby-on-rails - rake 数据库 :create:all FATAL : password authentication failed