私は、ユーザが互いに従うことを可能にする機能を実装しています。 は、私はデータベーステーブルを持っている:エンティティフレームワーククラスの問題で同じ2つのクラスタイプがあります
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'.
問題はおそらく1クラスに2つのユーザオブジェクトの原因とされ、私は呼んで 。これを回避するにはどのような考えですか?
UPDATE
public class User
{
public Guid UserId { get; set; }
...
public virtual ICollection<Follow> Following { get; set; }
public virtual ICollection<Follow> Followers { get; set; }
}
私は両方を配置することはないと思えますユーザーIDとナビゲーションプロパティを使用する場合、それらのうちの1つだけを置く必要があります。それ以外の場合は、EFはそれらの間の接続を確立できません。 – Clueless
これを修正する方法がわかりませんか? – 1110