我正在实现允许用户互相关注的功能。我有数据库表:
User{UserId, FirstName, LastName etc.}
Followings{FollowerUserId, FollowingUserId, CreatedOnDate etc.}
所以我添加了 EF 类:
public class Follow
{
[Key, Column(Order = 1)]
public Guid FollowerUserId { get; set; }
[Key, Column(Order = 2)]
public Guid FollowUserId { get; set; }
public DateTime CreatedOnDate { get; set; }
public virtual User Follower { get; set; }
public virtual User Following { get; set; }
}
最后两个虚拟属性会导致问题。当我打电话时:
var model = con.Follows.Where(x => x.FollowerUserId == uid);
我得到以下异常:
Invalid column name 'Following_UserId'.
该问题可能是由于一个类中有两个 User 对象引起的。知道如何解决这个问题吗?
更新
public class User
{
public Guid UserId { get; set; }
...
public virtual ICollection<Follow> Following { get; set; }
public virtual ICollection<Follow> Followers { get; set; }
}