0

データベースにコントラクトとアカウントの 2 つのテーブルがあります。アカウント コードがアカウント テーブルにある場合にのみ、コントラクト テーブルを変更したいと考えています。

テーブルはすでにデータベースに作成されています。私の mvc アプリケーションには 2 つのエンティティがあります。

契約エンティティ:

  public class Contract
     {
         [Key]
         [HiddenInput(DisplayValue = false)]
         public int ContractID { get; set; }

         [Display(Name = "Account Code")]
         //[ForeignKey("AccountCode")] 
         public string AccountCode { get; set; }
         //public virtual Account AccountCode { get; set; }

         [Display(Name = "Product Code")]
         public string ProductCode { get; set; }

     }

私の Accounts エンティティで:

 public class Accounts
     {
        [Key]
         public string AccountCode { get; set; }
         public string CompanyName { get; set; }
         public string CompanyNumber { get; set; }
         public string VATNumber { get; set; }
         public string Telephone { get; set; }
         public string AddressLine1 { get; set; }
         public string AddressLine2 { get; set; }
         public string City { get; set; }
         public string County { get; set; }
         public string PostCode { get; set; }
         public string Country { get; set; }

         //public virtual ICollection<Contract> Contract { get; set; } 
     }

コメントアウトしたので、CRUD は現在、外部キーなしで機能しています。

アカウント テーブルにリンクするコントラクト テーブルのデータベースに外部キー (AccountCode) があります。上記のエンティティを使用して、mvc アプリケーションにそれを実装するにはどうすればよいですか? 私はグーグルを読んで、上記のコメント付きのコードを試してみましたが、成功しませんでした。

よろしくお願いいたします。

4

1 に答える 1

0

これはあなたのためにそれを行います

   public class Contract
         {   
             [Key]
             [HiddenInput(DisplayValue = false)]
             public int ContractID { get; set; }
             public virtual Account Account{ get; set; }
             [Display(Name = "Product Code")]
             public string ProductCode { get; set; }
             public string AccountAccountCode {get;set;} 
 //automatically treated as foreign key of Account[Notice ClassNameKey Format]

     }
于 2013-02-12T08:54:14.300 に答える