@ -14,11 +14,11 @@ namespace Gremlin.GremlinData.DBClasses
entity . HasOne ( d = > d . AccountType ) . WithMany ( p = > p . Accounts ) . IsRequired ( true ) . OnDelete ( DeleteBehavior . Restrict ) ;
entity . HasOne ( d = > d . SubMarket ) . WithMany ( p = > p . Accounts ) . IsRequired ( true ) . OnDelete ( DeleteBehavior . Restrict ) ;
entity . HasAlternateKey ( e = > e . SAPAccountNumber ) ; // =Unique
entity . Property ( e = > e . AccountId ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . ParentAccountId ) ;
entity . Property ( e = > e . AccountName ) . IsRequired ( true ) . HasMaxLength ( 250 ) ;
//.HasColumnType("VARCHAR(250)") ist überflüssig, da .HasMaxLength(250) VARCHAR(250) impliziert.
//.HasColumnType("VARCHAR(250)") ist überflüssig, da .HasMaxLength(250) VARCHAR(250) impliziert.
entity . Property ( e = > e . Notes ) ;
entity . Property ( e = > e . Street ) . IsRequired ( true ) . HasMaxLength ( 100 ) ;
entity . Property ( e = > e . ZIP ) . IsRequired ( true ) . HasColumnType ( "Char(5)" ) ;
@ -32,16 +32,16 @@ namespace Gremlin.GremlinData.DBClasses
entity . Property ( e = > e . EMail ) . HasMaxLength ( 150 ) ;
entity . Property ( e = > e . SAPAccountNumber ) . IsRequired ( true ) ;
entity . Property ( e = > e . AccountCreatedInSAPOn ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataVersionNumber ) . HasDefaultValue ( 1 ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataVersionComment ) . HasDefaultValue ( "" ) ;
entity . Property ( e = > e . DataStatus ) . IsRequired ( true ) ;
//.HasDefaultValue("Active") //Default-Wert wird nicht gesetzt?!? Bug in EF Core?
//.HasDefaultValue("Active") //Default-Wert wird nicht gesetzt?!? Bug in EF Core?
entity . Property ( e = > e . DataModificationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP" ) . ValueGeneratedOnAddOrUpdate ( ) . IsConcurrencyToken ( true ) ;
//.IsRowVersion() impliziert .ValueGeneratedOnAddOrUpdate() und .IsConcurrencyToken(true)
//.IsRowVersion() impliziert .ValueGeneratedOnAddOrUpdate() und .IsConcurrencyToken(true)
entity . Property ( e = > e . DataModificationByUser ) . HasColumnType ( "TINYTEXT" ) . IsRequired ( true ) . HasDefaultValueSql ( "ON INSERT CURRENT_USER() ON UPDATE CURRENT_USER()" ) ;
}
}
@ -53,7 +53,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . HasKey ( e = > e . ContactId ) ;
entity . HasOne ( p = > p . Account ) . WithMany ( d = > d . Contacts ) . IsRequired ( true ) ;
//entity.HasAlternateKey(e => e.SAPContactNumber);
entity . Property ( e = > e . ContactId ) ;
entity . Property ( e = > e . SAPContactNumber ) . IsRequired ( true ) ;
entity . Property ( e = > e . AcademicTitle ) ;
@ -65,7 +65,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . Property ( e = > e . IsReference ) . HasDefaultValue ( false ) ;
entity . Property ( e = > e . Notes ) ;
entity . Property ( e = > e . ValidatedContact ) . HasDefaultValue ( false ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;
@ -86,12 +86,12 @@ namespace Gremlin.GremlinData.DBClasses
{
entity . HasKey ( e = > e . QuoteId ) ;
entity . HasMany ( d = > d . LineItems ) . WithOne ( p = > p . Quote ) . IsRequired ( false ) . OnDelete ( DeleteBehavior . Cascade ) ;
entity . Property ( e = > e . QuotationNumber ) . HasColumnType ( "VARCHAR(255)" ) . IsRequired ( true ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . QuotationDate ) . IsRequired ( true ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . ValidUntil ) ;
entity . Property ( e = > e . ValidFor ) . IsRequired ( true ) ;
entity . Ignore ( "SalesRep" ) ;
entity . Property ( e = > e . TotalListprice ) ;
@ -102,7 +102,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . Property ( e = > e . QuoteContains3PP ) . HasDefaultValue ( false ) ;
entity . Property ( e = > e . QuoteContainsRB ) . HasDefaultValue ( false ) ;
entity . Property ( e = > e . QuoteTemplate ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;
@ -122,7 +122,7 @@ namespace Gremlin.GremlinData.DBClasses
{
entity . HasKey ( e = > e . LineItemId ) ;
entity . HasOne ( p = > p . Quote ) . WithMany ( d = > d . LineItems ) . HasForeignKey ( fk = > fk . QuoteId ) . IsRequired ( true ) . OnDelete ( DeleteBehavior . Cascade ) ;
entity . Property ( e = > e . Position ) . IsRequired ( true ) ;
entity . Property ( e = > e . Amount ) . IsRequired ( true ) ;
entity . Property ( e = > e . ProductNumber ) . IsRequired ( true ) ;
@ -139,7 +139,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . Property ( e = > e . ExtendedListPrice ) . IsRequired ( true ) ;
entity . Property ( e = > e . NetPrice ) . IsRequired ( true ) ;
entity . Property ( e = > e . Total ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;
@ -162,7 +162,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . HasOne ( p = > p . ProductLine ) . WithMany ( d = > d . Products ) . HasForeignKey ( "ProductLineCode" ) . IsRequired ( true ) . OnDelete ( DeleteBehavior . Restrict ) ;
entity . Property ( e = > e . CustomDescriptionId ) . IsRequired ( false ) ;
entity . Property ( e = > e . ProductNumber ) . IsRequired ( true ) ;
entity . Property ( e = > e . OptionNumber ) ;
entity . Property ( e = > e . SapShortDescription ) ;
@ -171,7 +171,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . Property ( e = > e . ProductStatus ) ;
entity . Property ( e = > e . IntroductionDate ) ;
entity . Property ( e = > e . ListPrice ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;
@ -192,7 +192,7 @@ namespace Gremlin.GremlinData.DBClasses
entity . HasKey ( e = > e . CustomDescriptionId ) ;
entity . HasMany ( p = > p . Products ) . WithOne ( d = > d . CustomDescription ) . IsRequired ( false ) ;
entity . HasOne ( p = > p . Supplier ) . WithMany ( d = > d . CustomDescriptions ) . IsRequired ( true ) ;
entity . Property ( e = > e . ProductNumber ) . IsRequired ( true ) ;
entity . Property ( e = > e . OptionNumber ) ;
entity . Property ( e = > e . Heading ) . IsRequired ( true ) ;
@ -218,7 +218,7 @@ namespace Gremlin.GremlinData.DBClasses
public void Configure ( EntityTypeBuilder < ProductLine > entity )
{
entity . HasMany ( p = > p . Products ) . WithOne ( d = > d . ProductLine ) . IsRequired ( true ) . OnDelete ( DeleteBehavior . Restrict ) ;
entity . Property ( e = > e . ProductLineDescription ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
@ -242,7 +242,7 @@ namespace Gremlin.GremlinData.DBClasses
//entity.HasMany(p => p.Accounts).WithOne(d => d.AccountType); //already defined in class Account
entity . Property ( e = > e . AccountTypeCode ) . IsRequired ( true ) . HasColumnType ( "Char(3)" ) ;
entity . Property ( e = > e . AccountTypeDescription ) . HasColumnType ( "Varchar(1000)" ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;
@ -264,7 +264,7 @@ namespace Gremlin.GremlinData.DBClasses
//entity.HasMany(p => p.Accounts).WithOne(d => d.SubMarket); //already defined in class Account
entity . Property ( e = > e . SubMarketCode ) . HasColumnType ( "Char(3)" ) ;
entity . Property ( e = > e . SubMarketDescription ) . HasColumnType ( "Varchar(1000)" ) . IsRequired ( true ) ;
entity . Property ( e = > e . DataCreationDate ) . HasColumnType ( "TIMESTAMP" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidFrom ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "CURRENT_TIMESTAMP" ) . ValueGeneratedOnAdd ( ) ;
entity . Property ( e = > e . DataValidUntil ) . HasColumnType ( "DATETIME" ) . HasDefaultValueSql ( "'9999-12-31 23:59:59.000000'" ) . ValueGeneratedOnAdd ( ) ;