ユーザーがお互いをフォローできる機能を実装しています。私はデータベーステーブルを持っています:
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; }
}
最後の2つの仮想プロパティは問題を引き起こします。私が電話するとき:
var model = con.Follows.Where(x => x.FollowerUserId == uid);
次の例外が発生します:
Invalid column name 'Following_UserId'.
この問題は、1つのクラスに2つのUserオブジェクトが含まれていることが原因である可能性があります。これを回避する方法はありますか?
アップデート
public class User
{
public Guid UserId { get; set; }
...
public virtual ICollection<Follow> Following { get; set; }
public virtual ICollection<Follow> Followers { get; set; }
}