cs11dotnet7/vscode/PracticalApps/Northwind.Common.EntityModels.SqlServer/Customer.cs
2022-03-13 16:17:01 +00:00

61 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Xml.Serialization; // [XmlIgnore]
using Microsoft.EntityFrameworkCore;
namespace Packt.Shared
{
[Index("City", Name = "City")]
[Index("CompanyName", Name = "CompanyName")]
[Index("PostalCode", Name = "PostalCode")]
[Index("Region", Name = "Region")]
public partial class Customer
{
public Customer()
{
Orders = new HashSet<Order>();
CustomerTypes = new HashSet<CustomerDemographic>();
}
[Key]
[StringLength(5)]
[RegularExpression("[A-Z]{5}")]
[Required]
public string CustomerId { get; set; } = null!;
[StringLength(40)]
[Required]
public string CompanyName { get; set; } = null!;
[StringLength(30)]
public string? ContactName { get; set; }
[StringLength(30)]
public string? ContactTitle { get; set; }
[StringLength(60)]
public string? Address { get; set; }
[StringLength(15)]
public string? City { get; set; }
[StringLength(15)]
public string? Region { get; set; }
[StringLength(10)]
public string? PostalCode { get; set; }
[StringLength(15)]
public string? Country { get; set; }
[StringLength(24)]
public string? Phone { get; set; }
[StringLength(24)]
public string? Fax { get; set; }
[InverseProperty("Customer")]
[XmlIgnore]
public virtual ICollection<Order> Orders { get; set; }
[ForeignKey("CustomerId")]
[InverseProperty("Customers")]
[XmlIgnore]
public virtual ICollection<CustomerDemographic> CustomerTypes { get; set; }
}
}