[英]Entity Framework One-To-Many issue
我在項目中使用實體框架。 我陷入了麻煩。
我有兩節課。 他們是:
public class User
{
public virtual Guid Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public virtual string Username { get; set; }
public string Email { get; set; }
public virtual Company Company { get; set; }
}
public class Company
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Requisites { get; set; }
public virtual List<User> Workers { get; set; }
}
我也有回購。 因此,當我創建一個新用戶時,我想將此用戶添加到公司中。 我應該如何實施? 我有兩種方法:
user.Company = company;
company.Workers.Add(user);
哪種方法更好?
company
是否已附加到上下文。
或
var company = db.Set<Company>().Find(companyId);
要么
db.Set<Company>().Attach(company);
user.Company =公司;
在第一種情況下,如果僅這樣做。 該用戶將不會被添加到數據庫,您也需要具有此權限。
db.Entry(user).State = EntityState.Added;
要么
db.Set<User>().Add(user);
然后,將添加用戶並與公司建立關系。
company.Workers.Add(用戶);
這一項應該沒問題,用戶將被添加並與公司建立關系。 但是請注意,如果Workers
為null,則需要首先實例化它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.