こんにちは皆さん、asp.net mvc で問題に直面しています。
2 つのテーブルUsers
とProjects
3 つ目のテーブルがあり、多対多の関係を作成しますUser_Project
が、ビジュアル スタジオにテーブルをインポートすると、テーブルはありませんがUser_Project
、ナビゲーションなどから値にアクセスできますdb.Users.Where(u => u.Projects.Contains(SomeUser));
。
User
しかし今、あるプロジェクトに関連するデータベース に追加したいだけで、次のクエリを使用していますが、機能していません。
Project pro = db.Projects.Where(p => p.ID == x).FirstOrDefault();
pro.Users.Add(usr);
db.Users.Add(usr);
error line => db.SaveChanges();
私が私の問題を説明したことを願っています。
EntitySet 'User_Project' を更新できません。DefiningQuery があり、現在の操作をサポートする要素が要素に存在しないためです。
また、両方のテーブルに主キーがありUsers.ID
、Projects.ID
edmx ファイルにもリンクがあります。
<AssociationConnector Association="BugMesh_Model.User_Project" ManuallyRouted="false" />
ユーザーモデル
public partial class User
{
public User()
{
this.Bugs = new HashSet<Bug>();
this.Bugs1 = new HashSet<Bug>();
this.Projects = new HashSet<Project>();
}
public int ID { get; set; }
public string UserName { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public string Role { get; set; }
public virtual ICollection<Bug> Bugs { get; set; }
public virtual ICollection<Bug> Bugs1 { get; set; }
public virtual ICollection<Project> Projects { get; set; }
}
プロジェクトモデル
public partial class Project
{
public Project()
{
this.Bugs = new HashSet<Bug>();
this.Components = new HashSet<Component>();
this.Users = new HashSet<User>();
}
public int ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Status { get; set; }
public Nullable<System.DateTime> CreationDate { get; set; }
public virtual ICollection<Bug> Bugs { get; set; }
public virtual ICollection<Component> Components { get; set; }
public virtual ICollection<User> Users { get; set; }
}