大家好我在asp.net mvc遇到问题。
我有两个表Users
和Projects
以及第三个表,它们在User_Project
中创建了多对多的关系,但是当我在visual studio中导入表时,没有{ {1}}但我可以从导航或类似User_Project
访问这些值。
但是现在我只想在数据库中添加与某个项目相关的db.Users.Where(u => u.Projects.Contains(SomeUser));
,我正在使用以下查询,但它不起作用。
User
希望我解释了我的问题。
无法更新EntitySet'User_Project',因为它有一个 定义查询并且没有元素存在于 元素支持当前 操作
我还有Project pro = db.Projects.Where(p => p.ID == x).FirstOrDefault();
pro.Users.Add(usr);
db.Users.Add(usr);
error line => db.SaveChanges();
和Users.ID
表中的主键以及edmx文件中的链接。
Projects.ID
的usermodel
<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; }
}
答案 0 :(得分:0)
您添加用户2次,因为它的引用类型为内存中的相同位置
你可以那样做
pro.Users.Add(usr);
db.SaveChanges();
并请检查用户表是否有primary key