Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- modelSelfRefferenceCS
- namespace Lab_2
- {
- using System;
- using System.Data.Entity;
- using System.Linq;
- using System.Collections.Generic;
- using System.ComponentModel.DataAnnotations;
- using System.ComponentModel.DataAnnotations.Schema;
- public class ModelSelfReferences : DbContext
- {
- public ModelSelfReferences()
- : base("name=ModelSelfReferences")
- {
- }
- // public virtual DbSet<MyEntity> MyEntities { get; set; }
- public virtual DbSet<SelfReference> SelfReferences { get; set; }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
- modelBuilder.Entity<SelfReference>()
- .HasMany(m => m.References)
- .WithOptional(m => m.ParentSelfReference);
- }
- }
- public class ProductContext : DbContext
- {
- public DbSet<Product> Products { get; set; }
- public ProductContext() : base("name=ProductContext")
- { }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
- modelBuilder.Entity<Product>()
- .Map(m =>
- {
- m.Properties(p => new { p.SKU, p.Description, p.Price });
- m.ToTable("Product", "BazaDeDate");
- })
- .Map(m =>
- {
- m.Properties(p => new { p.SKU, p.ImageURL });
- m.ToTable("ProductWebInfo", "BazaDeDate");
- });
- }
- }
- public class PhotographContext : DbContext
- {
- public DbSet<Photograph> Photographs { get; set; }
- public PhotographContext() : base("name=PhotographContext")
- { }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
- modelBuilder.Entity<Photograph>()
- .HasRequired(p => p.PhotographFullImage)
- .WithRequiredPrincipal(p => p.Photograph);
- modelBuilder.Entity<Photograph>().ToTable("Photograph",
- "BazaDeDate");
- modelBuilder.Entity<PhotographFullImage>().
- ToTable("Photograph", "BazaDeDate");
- }
- }
- public class BusinessContext : DbContext
- {
- public DbSet<Business> Businesses { get; set; }
- public BusinessContext() : base("name=BusinessContext")
- { }
- }
- public class EmployeeContext : DbContext
- {
- public DbSet<Employee> Employees { get; set; }
- public EmployeeContext() : base("name=EmployeeContext")
- { }
- protected override void OnModelCreating(DbModelBuilder modelBuilder)
- {
- base.OnModelCreating(modelBuilder);
- modelBuilder.Entity<Employee>()
- .Map<FullTimeEmployee>(m =>
- m.Requires("EmployeeType").HasValue(1))
- .Map<HourlyEmployee>(m =>
- m.Requires("EmployeeType").HasValue(2));
- }
- }
- public class PhotographFullImage
- {
- [Key]
- public int PhotoId { get; set; }
- public byte[] HighResolutionBits { get; set; }
- [ForeignKey("PhotoId")]
- public virtual Photograph Photograph { get; set; }
- }
- //public class MyEntity
- //{
- // public int Id { get; set; }
- // public string Name { get; set; }
- //}
- public class SelfReference
- {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int SelfReferenceId { get; private set; }
- public string Name { get; set; }
- public int? ParentSelfReferenceId { get; private set; }
- [ForeignKey("ParentSelfReferenceId")]
- public SelfReference ParentSelfReference { get; set; }
- public virtual ICollection<SelfReference> References { get; set; }
- public SelfReference()
- {
- References = new HashSet<SelfReference>();
- }
- }
- public class Product
- {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.None)]
- public int SKU { get; set; }
- public string Description { get; set; }
- public decimal Price { get; set; }
- public string ImageURL { get; set; }
- }
- public class Photograph
- {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int PhotoId { get; set; }
- public string Title { get; set; }
- public byte[] ThumbnailBits { get; set; }
- [ForeignKey("PhotoId")]
- public virtual PhotographFullImage PhotographFullImage { get; set; }
- }
- //scenario 4
- [Table("Business", Schema = "BazaDeDate")]
- public class Business
- {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int BusinessId { get; protected set; }
- public string Name { get; set; }
- public string LicenseNumber { get; set; }
- }
- [Table("eCommerce", Schema = "BazaDeDate")]
- public class eCommerce : Business
- {
- public string URL { get; set; }
- }
- [Table("Retail", Schema = "BazaDeDate")]
- public class Retail : Business
- {
- public string Address { get; set; }
- public string City { get; set; }
- public string State { get; set; }
- public string ZIPCode { get; set; }
- }
- //scenario5
- public abstract class Employee
- {
- [Key]
- [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
- public int EmployeeId { get; protected set; }
- public string FirstName { get; set; }
- public string LastName { get; set; }
- }
- public class FullTimeEmployee : Employee
- {
- public decimal? Salary { get; set; }
- }
- public class HourlyEmployee : Employee
- {
- public decimal? Wage { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement