ASP MVC4 /创建类之间的关系

时间:2014-04-17 15:38:11

标签: c# asp.net-mvc entity-framework models

大家好,感谢您阅读并试着提供帮助。

我是asp的初学者。

我有两节课:

public class Organisation
{

    public int OrganisationId { get; set; }
    public string Nom_Organisation { get; set; }
    public string Adresse_Organisation { get; set; }
    public string Mail_Organisation { get; set; }
    public DateTime Date_Ajout_Org { get; set; }

    public virtual ICollection<Contrat> contract { get; set; }
    public virtual ICollection<Ticket> Ticket_Org { get; set; }
    public virtual ICollection<Interlocuteur> Interlocuteurs { get; set; }
    public virtual ICollection<Environnement> Environments { get; set; }
    public virtual ICollection<Outils> Outils { get; set; }
    public virtual ICollection<Support> Supports { get; set; }




    public Organisation() 
    {

    }

}

public class Contrat
{
    public int ContratId { get; set; }
    public DateTime Date_Conclu { get; set; }
    public string Reference { get; set; }
    public string Commentaire { get; set; }

    public virtual Organisation Orga{ get; set; }

    [Required]
    public int TypeContratId { get; set; }

    public virtual TypeContrat Type { get; set; }


    public Contrat()
    {


    }
}

我想创建一个组织然后添加合同。问题是我真的不知道如何。我使用生成的控制器创建组织,但是当我尝试通过向组织ID发送创建合同的方法时。

我想在默认生成的表中添加一个按钮,该按钮发送给使用所选组织的ID创建合同的操作。

希望你明白我的问题!提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您使用的是实体框架。如果是这样,那么你不必担心它 只需创建组织并在ICollection<Contrat> contract

中添加Contrat
  Organisation newOrg = new Organisation();
  newOrg.contract  = new List<Contrat>();
  newOrg.contract.add(new contract())
  context.Organisation.Add(newOrg);
  context.save();

或者你可以用其他方式使用Guid:

change to:
public int OrganisationId { get; set; } => public Guid OrganisationId { get; set; }

Organisation newOrg = new Organisation();
newOrg.OrganisationId =  Guid.New();    
contract newContract = new contract();
newContract.OrganisationId = newOrg.OrganisationId;
context.Organisation.Add(newOrg);
context.save();