1个更改时更新2个用户模型列表

时间:2018-08-06 10:26:56

标签: c# .net entity-framework

我的EntityFramework类中有3个模型,1是UserModel,2是FriendModel,3rd是ChatModel,(稍后再讲)

UserModel包含FriendModel的虚拟列表。 (朋友列表)

现在,当我尝试将朋友添加到用户的朋友列表时,我遇到的问题是 我需要一种方法来为此新添加的朋友更新其他用户,而无需在数据库中为每个用户和朋友添加新列。

我看到的大多数解决方案创建了3个列表1已发送请求2已接收到 和1合并它们,但这仍然无济于事,因为其他用户 添加朋友时,朋友列表仍然为空。

这是我到目前为止尝试过的:

  1. Solution 1

  2. 在数据库中为每个新添加的朋友创建两列。 (这本身就是问题)

  3. 在FriendModel中创建两个UserModel。1为发送好友请求的用户,1为接受好友请求的用户。

还有更多...

到目前为止,所有这些引起了他们自己的问题,这使我放弃了,在这里寻求答案。

UserModel代码

static String GetFromBuildProp(String PropKey) {
    Process p;
    String propvalue = "";
    try {
        p = new ProcessBuilder("/system/bin/getprop", PropKey).redirectErrorStream(true).start();
        BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
        String line;
        while ((line = br.readLine()) != null) {
            propvalue = line;
        }
        p.destroy();
    } catch (IOException e) {
        e.printStackTrace();
    }
    return propvalue;
}

FriendModel代码

    /// <summary>
    /// The ID of the user
    /// </summary>
    [Key]
    public int UserID { get; private set; }


    public string Username { get; internal set; }

    /// <summary>
    /// The user's password
    /// </summary>
    public byte[] Password { get; internal set; }

    /// <summary>
    /// The ip address of the client
    /// </summary>
    public string IPAddress { get; internal set; }



    /// <summary>
    /// The status of the client that other users see
    /// </summary>
    public UserStatus PublicStatus { get; internal set; }

    /// <summary>
    /// A flag indicating if this user is offline or not
    /// </summary>
    public bool IsOnline { get; internal set; }



    /// <summary>
    /// The list of friends that the user is friends with
    /// </summary>
    public virtual List<FriendModel> FriendList { get; internal set; } = new List<FriendModel>();

0 个答案:

没有答案