예제 #1
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.Entity <Customer>().ToTable("Customers");
            modelBuilder.Entity <Employee>().ToTable("Employees");
            modelBuilder.Entity <Product>().ToTable("Products");
            modelBuilder.Entity <Order>().ToTable("Orders");
            modelBuilder.Entity <OrderDetail>().ToTable("Order Details");

            modelBuilder.Entity <CustomerOrderHistory>().HasKey(coh => coh.ProductName);
            modelBuilder.Entity <MostExpensiveProduct>().HasKey(mep => mep.TenMostExpensiveProducts);

            modelBuilder.Entity <CustomerQuery>().HasNoKey().ToQuery(
                () => CustomerQueries.FromSqlInterpolated(
                    $"SELECT [c].[CustomerID] + {_empty} as [CustomerID], [c].[Address], [c].[City], [c].[CompanyName], [c].[ContactName], [c].[ContactTitle], [c].[Country], [c].[Fax], [c].[Phone], [c].[PostalCode], [c].[Region] FROM [Customers] AS [c]"
                    ));

            modelBuilder
            .Entity <OrderQuery>()
            .HasNoKey()
            .ToQuery(
                () => Orders
                .FromSqlRaw(@"select * from ""Orders""")
                .Select(
                    o => new OrderQuery {
                CustomerID = o.CustomerID
            }));

            modelBuilder.Entity <ProductView>().HasNoKey().ToView("Alphabetical list of products");
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            ModelHelpers.SetStringLengths(modelBuilder);

            modelBuilder.Entity <CustomerView>().HasNoKey().ToQuery(
                () => CustomerQueries.FromSqlInterpolated($@"SELECT ""c"".""CustomerID"" || {_empty} as ""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" FROM ""Customers"" AS ""c"""
                                                          ));
        }
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);

            modelBuilder.HasPostgresExtension("uuid-ossp");

            modelBuilder.Entity <Customer>()
            .Property(c => c.CustomerID)
            .HasColumnType("varchar(5)");

            modelBuilder.Entity <Employee>(
                b =>
            {
                b.Property(c => c.EmployeeID).HasColumnType("int4");
                b.Property(c => c.ReportsTo).HasColumnType("int4");
            });

            modelBuilder.Entity <Order>()
            .Property(o => o.EmployeeID)
            .HasColumnType("int4");
            modelBuilder.Entity <OrderDetail>()
            .Property(od => od.UnitPrice)
            .HasColumnType("money");

            modelBuilder.Entity <Product>(
                b =>
            {
                b.Property(p => p.UnitPrice).HasColumnType("money");
                b.Property(p => p.UnitsInStock).HasColumnType("int2");
            });

            modelBuilder.Entity <MostExpensiveProduct>()
            .Property(p => p.UnitPrice)
            .HasColumnType("money");

#pragma warning disable CS0618 // Type or member is obsolete
            modelBuilder.Query <CustomerView>().HasNoKey().ToQuery(
                () => CustomerQueries.FromSqlInterpolated($@"SELECT ""c"".""CustomerID"" || {_empty} as ""CustomerID"", ""c"".""Address"", ""c"".""City"", ""c"".""CompanyName"", ""c"".""ContactName"", ""c"".""ContactTitle"", ""c"".""Country"", ""c"".""Fax"", ""c"".""Phone"", ""c"".""PostalCode"", ""c"".""Region"" FROM ""Customers"" AS ""c"""
                                                          ));
#pragma warning restore CS0618 // Type or member is obsolete
        }