计算SQL Server中的数据字段并根据现有数据更新相关的相关字段

时间:2013-11-19 10:25:38

标签: c# sql-server arrays visual-studio-2012 entity-framework-5

我正在使用C#在VS2012中使用EF5。我有两个表NIC和网络交换机,具有1:M的关系。网络切换可以有多个NIC,并且只能将NIC分配给一个NetworkSwitch。现在我想要的是,当我们向网络交换机添加一个值时,我希望根据每次在NIC表中插入新值或行来更新可用端口和使用的端口。请参阅下面的代码。

public class NIC
{
    [Required]
    public int idNic { get; set; }

    [Required]
    public string Manufacturer { get; set; }

    [Required]
     [DisplayName("IP Address")]
    public int IPAddress { get; set; }

    [Required]
    [ForeignKey("idServer")]
    public int idServer { get; set; }


    [ForeignKey("idNetworkSwitch")]
    public int? idNetworkSwitch { get; set; }

    [Range(1,48,ErrorMessage="The Value must be between 1 and 48")]
    [DisplayName("Network Switch Port")]
    public int? NetworkSwitchPort { get; set; }




    //Relationships
    public virtual NetworkSwitch networkSwitch { get; set; }
    public virtual Server server { get; set; }

}
 public class NetworkSwitch
{
    [Key]
    public int idNetworkSwitch { get; set; }

    [Required]
    [StringLength(20)]
    [DisplayName("Network Switch Name")]
    public string SwitchName { get; set; }

    [Required]
    [Range(4,1024)]
    [DisplayName("Total Ports on Swich")]
    public int TotalPorts { get; set; }

    [Required]
    [DisplayName("Used Ports on Swich")]
    public int UsedPorts { get; set; }

    [Required]
    [DisplayName("Available Ports on Swich")]
    public int AvailablePorts { get; set; }

    //relationships
    public virtual Rack rack { get; set; }
    public virtual ICollection<NIC> NICs { get; set; }




}

属性“UsedPorts”的默认值为48.那么如何计算“UsedPorts”和“AvailablePorts”属性? 每次我们在NIC表中插入新的ROW时,我们都要输入“switchport”号。这意味着它是NIC连接到网络交换机的端口。有没有一种方法,用户只能获得这个属性中的那些可用的端口?当用户选择从可用端口删除值的值时,使用的端口字段将更新。那么我们可以跟踪我们在NetworkSwitch上有多少端口以及我们拥有哪些端口?

0 个答案:

没有答案