1

ほとんどのチュートリアルでは、これについてはまったく説明していません。彼らはあなたのエンティティをコントローラーにリンクすると言うだけで、あなたは完了です。

私のビジネスモデルでは、顧客がいて、顧客連絡先が1人から>1人の顧客連絡先があります。これらのビューモデルを作成して、同じビューから編集/作成/その他何でもできるようにするにはどうすればよいですか?

public class Customer
{
    public Customer()
    {
        this.CustomerContacts = new List<CustomerContact>();
        this.Systems = new List<System>();
        this.CreatedByCustomerTickets = new List<Ticket>();
        this.CustomerTickets = new List<Ticket>();
    }

    public long CustomerID { get; set; }
    public Nullable<bool> BusinessCustomer { get; set; }
    public string CustomerName { get; set; }
    public string CustomerNotes { get; set; }
    public virtual ICollection<CustomerContact> CustomerContacts { get; set; }
    public virtual ICollection<System> Systems { get; set; }
    public virtual ICollection<Ticket> CreatedByCustomerTickets { get; set; }
    public virtual ICollection<Ticket> CustomerTickets { get; set; }
}

public class CustomerContact
{
    public long CustomerContactID { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public int Phone { get; set; }
    public string AddressLine1 { get; set; }
    public string AddressLine2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public Nullable<int> Zip { get; set; }
    public Nullable<long> CustomerID { get; set; }
    public string Email { get; set; }
    public bool PromotionalEmails { get; set; }
    public virtual Customer Customer { get; set; }
}
4

1 に答える 1

1

さて、私はこれから始めます

public class CustomerViewModel
{
  public Customer Customer {get; set;}
  public CustomerContact CustomerContact {get; set;}
}

そこから作業します。

ドメインオブジェクトのすべてのプロパティが必要ない場合は、次のようなものを検討してください。

public class CustomerViewModel
    {
       public long CustomerID { get; set; }
       public ICollection<CustomerContact> CustomerContacts { get; set; }
    }

特定のプロジェクトのニーズを満たす方法でビューモデルを構築するのは、本当にあなた次第です。

于 2013-01-31T19:06:44.560 に答える