diff --git a/.vscode/launch.json b/.vscode/launch.json index 5968332..7f3690a 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -8,7 +8,7 @@ "preLaunchTask": "build", "launchSettingsProfile": "ElasticSearchIndexer", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/aspnetcore/src/Indexer/bin/Debug/net6.0/CSC.PublicApi.Indexer.dll", + "program": "${workspaceFolder}/aspnetcore/src/Indexer/bin/Debug/net8.0/CSC.PublicApi.Indexer.dll", "args": [], "cwd": "${workspaceFolder}/aspnetcore/src/Indexer", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console @@ -22,12 +22,26 @@ "preLaunchTask": "build", "launchSettingsProfile": "Api", // If you have changed target frameworks, make sure to update the program path. - "program": "${workspaceFolder}/aspnetcore/src/Interface/bin/Debug/net6.0/CSC.PublicApi.Interface.dll", + "program": "${workspaceFolder}/aspnetcore/src/Interface/bin/Debug/net8.0/CSC.PublicApi.Interface.dll", "args": [], "cwd": "${workspaceFolder}/aspnetcore/src/Interface", // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console "console": "internalConsole", "stopAtEntry": false + }, + { + "name": "Exporter (console)", + "type": "coreclr", + "request": "launch", + "preLaunchTask": "build", + "launchSettingsProfile": "Api", + // If you have changed target frameworks, make sure to update the program path. + "program": "${workspaceFolder}/aspnetcore/src/Exporter/bin/Debug/net8.0/CSC.PublicApi.Exporter.dll", + "args": [], + "cwd": "${workspaceFolder}/aspnetcore/src/Exporter", + // For more information about the 'console' field, see https://aka.ms/VSCode-CS-LaunchJson-Console + "console": "internalConsole", + "stopAtEntry": false } ] } \ No newline at end of file diff --git a/aspnetcore/PublicApi.sln b/aspnetcore/PublicApi.sln index ecc8e9a..db8f740 100644 --- a/aspnetcore/PublicApi.sln +++ b/aspnetcore/PublicApi.sln @@ -48,6 +48,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ApiModels", "src\ApiModels\ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Logging", "src\Logging\Logging.csproj", "{86D2E73C-B7BF-41F3-BC35-7E807C611CEA}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Exporter", "src\Exporter\Exporter.csproj", "{74125BEC-3509-4330-B11D-B1514C15E4FB}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -98,6 +100,10 @@ Global {86D2E73C-B7BF-41F3-BC35-7E807C611CEA}.Debug|Any CPU.Build.0 = Debug|Any CPU {86D2E73C-B7BF-41F3-BC35-7E807C611CEA}.Release|Any CPU.ActiveCfg = Release|Any CPU {86D2E73C-B7BF-41F3-BC35-7E807C611CEA}.Release|Any CPU.Build.0 = Release|Any CPU + {74125BEC-3509-4330-B11D-B1514C15E4FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {74125BEC-3509-4330-B11D-B1514C15E4FB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {74125BEC-3509-4330-B11D-B1514C15E4FB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {74125BEC-3509-4330-B11D-B1514C15E4FB}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/aspnetcore/openshift/api/Dockerfile b/aspnetcore/openshift/api/Dockerfile deleted file mode 100644 index ec9ebd8..0000000 --- a/aspnetcore/openshift/api/Dockerfile +++ /dev/null @@ -1,28 +0,0 @@ -# Builder -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env -WORKDIR /build - -# Copy csproj and restore as distinct layers -COPY ["packages","./packages"] -COPY ["aspnetcore/nuget.config","./Interface/nuget.config"] -COPY ["aspnetcore/src/Interface/Interface.csproj","./Interface/Interface.csproj"] -COPY ["aspnetcore/src/ElasticService/ElasticService.csproj","./ElasticService/ElasticService.csproj"] -COPY ["aspnetcore/src/Service.Models/Service.Models.csproj","./Service.Models/Service.Models.csproj"] -COPY ["aspnetcore/src/ApiModels/ApiModels.csproj","./ApiModels/ApiModels.csproj"] -COPY ["aspnetcore/src/Logging/Logging.csproj","./Logging/Logging.csproj"] -RUN dotnet restore "Interface/Interface.csproj" - -# Copy everything else and build -COPY ["aspnetcore/src/Interface/","./Interface"] -COPY ["aspnetcore/src/ElasticService/","./ElasticService"] -COPY ["aspnetcore/src/Service.Models/","./Service.Models"] -COPY ["aspnetcore/src/ApiModels/","./ApiModels"] -COPY ["aspnetcore/src/Logging/","./Logging"] -RUN dotnet publish "Interface/Interface.csproj" -c Release -o out - -# Runtime image -FROM mcr.microsoft.com/dotnet/aspnet:6.0 -WORKDIR /app -COPY --from=build-env /build/out . -EXPOSE 8080 -ENTRYPOINT ["dotnet", "CSC.PublicApi.Interface.dll"] \ No newline at end of file diff --git a/aspnetcore/openshift/api/rahti2/Dockerfile b/aspnetcore/openshift/api/rahti2/Dockerfile index ec9ebd8..f967b43 100644 --- a/aspnetcore/openshift/api/rahti2/Dockerfile +++ b/aspnetcore/openshift/api/rahti2/Dockerfile @@ -1,5 +1,5 @@ # Builder -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /build # Copy csproj and restore as distinct layers @@ -21,7 +21,7 @@ COPY ["aspnetcore/src/Logging/","./Logging"] RUN dotnet publish "Interface/Interface.csproj" -c Release -o out # Runtime image -FROM mcr.microsoft.com/dotnet/aspnet:6.0 +FROM mcr.microsoft.com/dotnet/aspnet:8.0 WORKDIR /app COPY --from=build-env /build/out . EXPOSE 8080 diff --git a/aspnetcore/openshift/api/template-api-devel.yml b/aspnetcore/openshift/api/template-api-devel.yml deleted file mode 100644 index 3cbc0f1..0000000 --- a/aspnetcore/openshift/api/template-api-devel.yml +++ /dev/null @@ -1,99 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2022 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-api-devel - template: publicapi-api-devel - name: publicapi-api-devel -objects: - # Service (devel) - - apiVersion: v1 - kind: Service - metadata: - name: publicapi-api-service-devel - labels: - app: publicapi-api-devel - annotations: - description: Public api service for devel branch - spec: - ports: - - name: publicapi-api-port-devel - port: 8080 - targetPort: 8080 - selector: - depcfg: publicapi-api-depcfg-devel - - # ImageStream (development) - - apiVersion: v1 - kind: ImageStream - metadata: - name: publicapi-api-devel - labels: - app: publicapi-api-devel - - # BuildConfig using Docker build strategy - - apiVersion: v1 - kind: BuildConfig - metadata: - name: publicapi-api-build-devel - labels: - app: publicapi-api-devel - spec: - source: - git: - uri: https://github.com/CSCfi/research-fi-publicapi.git - ref: devel - contextDir: . - strategy: - dockerStrategy: - dockerfilePath: aspnetcore/openshift/api/Dockerfile - output: - to: - kind: ImageStreamTag - name: publicapi-api-devel:latest - successfulBuildsHistoryLimit: 4 - failedBuildsHistoryLimit: 4 - - # Deployment config (development) - - apiVersion: v1 - kind: DeploymentConfig - metadata: - name: publicapi-api-deployment-devel - labels: - app: publicapi-api-devel - spec: - selector: - app: publicapi-api-devel - depcfg: publicapi-api-depcfg-devel - template: - metadata: - labels: - app: publicapi-api-devel - depcfg: publicapi-api-depcfg-devel - spec: - containers: - - name: publicapi-api-container-devel - image: publicapi/publicapi-api-devel - imagePullPolicy: Always - ports: - - containerPort: 8080 - protocol: TCP - replicas: 1 - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - publicapi-api-container-devel - from: - kind: ImageStreamTag - name: publicapi-api-devel:latest - strategy: - type: Rolling \ No newline at end of file diff --git a/aspnetcore/openshift/api/template-api-production.yml b/aspnetcore/openshift/api/template-api-production.yml deleted file mode 100644 index 2f3785b..0000000 --- a/aspnetcore/openshift/api/template-api-production.yml +++ /dev/null @@ -1,99 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2023 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-api-production - template: publicapi-api-production - name: publicapi-api-production -objects: - # Service (production) - - apiVersion: v1 - kind: Service - metadata: - name: publicapi-api-service-production - labels: - app: publicapi-api-production - annotations: - description: Public api service for production branch - spec: - ports: - - name: publicapi-api-port-production - port: 8080 - targetPort: 8080 - selector: - depcfg: publicapi-api-depcfg-production - - # ImageStream (production) - - apiVersion: v1 - kind: ImageStream - metadata: - name: publicapi-api-production - labels: - app: publicapi-api-production - - # BuildConfig using Docker build strategy - - apiVersion: v1 - kind: BuildConfig - metadata: - name: publicapi-api-build-production - labels: - app: publicapi-api-production - spec: - source: - git: - uri: https://github.com/CSCfi/research-fi-publicapi.git - ref: main - contextDir: . - strategy: - dockerStrategy: - dockerfilePath: aspnetcore/openshift/api/Dockerfile - output: - to: - kind: ImageStreamTag - name: publicapi-api-production:latest - successfulBuildsHistoryLimit: 4 - failedBuildsHistoryLimit: 4 - - # Deployment config (production) - - apiVersion: v1 - kind: DeploymentConfig - metadata: - name: publicapi-api-deployment-production - labels: - app: publicapi-api-production - spec: - selector: - app: publicapi-api-production - depcfg: publicapi-api-depcfg-production - template: - metadata: - labels: - app: publicapi-api-production - depcfg: publicapi-api-depcfg-production - spec: - containers: - - name: publicapi-api-container-production - image: publicapi/publicapi-api-production - imagePullPolicy: Always - ports: - - containerPort: 8080 - protocol: TCP - replicas: 1 - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - publicapi-api-container-production - from: - kind: ImageStreamTag - name: publicapi-api-production:latest - strategy: - type: Rolling \ No newline at end of file diff --git a/aspnetcore/openshift/api/template-api-qa.yml b/aspnetcore/openshift/api/template-api-qa.yml deleted file mode 100644 index 915cb06..0000000 --- a/aspnetcore/openshift/api/template-api-qa.yml +++ /dev/null @@ -1,99 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2023 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-api-qa - template: publicapi-api-qa - name: publicapi-api-qa -objects: - # Service (qa) - - apiVersion: v1 - kind: Service - metadata: - name: publicapi-api-service-qa - labels: - app: publicapi-api-qa - annotations: - description: Public api service for qa branch - spec: - ports: - - name: publicapi-api-port-qa - port: 8080 - targetPort: 8080 - selector: - depcfg: publicapi-api-depcfg-qa - - # ImageStream (qa) - - apiVersion: v1 - kind: ImageStream - metadata: - name: publicapi-api-qa - labels: - app: publicapi-api-qa - - # BuildConfig using Docker build strategy - - apiVersion: v1 - kind: BuildConfig - metadata: - name: publicapi-api-build-qa - labels: - app: publicapi-api-qa - spec: - source: - git: - uri: https://github.com/CSCfi/research-fi-publicapi.git - ref: qa - contextDir: . - strategy: - dockerStrategy: - dockerfilePath: aspnetcore/openshift/api/Dockerfile - output: - to: - kind: ImageStreamTag - name: publicapi-api-qa:latest - successfulBuildsHistoryLimit: 4 - failedBuildsHistoryLimit: 4 - - # Deployment config (qa) - - apiVersion: v1 - kind: DeploymentConfig - metadata: - name: publicapi-api-deployment-qa - labels: - app: publicapi-api-qa - spec: - selector: - app: publicapi-api-qa - depcfg: publicapi-api-depcfg-qa - template: - metadata: - labels: - app: publicapi-api-qa - depcfg: publicapi-api-depcfg-qa - spec: - containers: - - name: publicapi-api-container-qa - image: publicapi/publicapi-api-qa - imagePullPolicy: Always - ports: - - containerPort: 8080 - protocol: TCP - replicas: 1 - triggers: - - type: ConfigChange - - type: ImageChange - imageChangeParams: - automatic: true - containerNames: - - publicapi-api-container-qa - from: - kind: ImageStreamTag - name: publicapi-api-qa:latest - strategy: - type: Rolling \ No newline at end of file diff --git a/aspnetcore/openshift/indexer/Dockerfile b/aspnetcore/openshift/indexer/Dockerfile deleted file mode 100644 index c09c100..0000000 --- a/aspnetcore/openshift/indexer/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -# Builder -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env -WORKDIR /build - -# Copy csproj and restore as distinct layers -COPY ["packages","./packages"] -COPY ["aspnetcore/nuget.config","./Indexer/nuget.config"] -COPY ["aspnetcore/src/Indexer/Indexer.csproj","./Indexer/Indexer.csproj"] -COPY ["aspnetcore/src/ElasticService/ElasticService.csproj","./ElasticService/ElasticService.csproj"] -COPY ["aspnetcore/src/DatabaseContext/DatabaseContext.csproj","./DatabaseContext/DatabaseContext.csproj"] -COPY ["aspnetcore/src/Repositories/Repositories.csproj","./Repositories/Repositories.csproj"] -COPY ["aspnetcore/src/Service.Models/Service.Models.csproj","./Service.Models/Service.Models.csproj"] -COPY ["aspnetcore/src/Logging/Logging.csproj","./Logging/Logging.csproj"] -RUN dotnet restore "Indexer/Indexer.csproj" - -# Copy everything else and build -COPY ["aspnetcore/src/Indexer/","./Indexer"] -COPY ["aspnetcore/src/ElasticService/","./ElasticService"] -COPY ["aspnetcore/src/DatabaseContext/","./DatabaseContext"] -COPY ["aspnetcore/src/Repositories/","./Repositories"] -COPY ["aspnetcore/src/Service.Models/","./Service.Models"] -COPY ["aspnetcore/src/Logging/","./Logging"] -RUN dotnet publish "Indexer/Indexer.csproj" -c Release -o out - -# Runtime image -FROM mcr.microsoft.com/dotnet/runtime:6.0 -WORKDIR /app -COPY --from=build-env /build/out . -ENTRYPOINT ["dotnet", "CSC.PublicApi.Indexer.dll"] \ No newline at end of file diff --git a/aspnetcore/openshift/indexer/rahti2/Dockerfile b/aspnetcore/openshift/indexer/rahti2/Dockerfile index c09c100..4d63bb2 100644 --- a/aspnetcore/openshift/indexer/rahti2/Dockerfile +++ b/aspnetcore/openshift/indexer/rahti2/Dockerfile @@ -1,5 +1,5 @@ # Builder -FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env +FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env WORKDIR /build # Copy csproj and restore as distinct layers @@ -23,7 +23,7 @@ COPY ["aspnetcore/src/Logging/","./Logging"] RUN dotnet publish "Indexer/Indexer.csproj" -c Release -o out # Runtime image -FROM mcr.microsoft.com/dotnet/runtime:6.0 +FROM mcr.microsoft.com/dotnet/runtime:8.0 WORKDIR /app COPY --from=build-env /build/out . ENTRYPOINT ["dotnet", "CSC.PublicApi.Indexer.dll"] \ No newline at end of file diff --git a/aspnetcore/openshift/indexer/template-indexer-app-devel.yml b/aspnetcore/openshift/indexer/template-indexer-app-devel.yml deleted file mode 100644 index fd75eb2..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-app-devel.yml +++ /dev/null @@ -1,47 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-devel - template: publicapi-indexer-devel - name: publicapi-indexer-devel -objects: - # ImageStream (development) - - apiVersion: v1 - kind: ImageStream - metadata: - name: publicapi-indexer-devel - labels: - app: publicapi-indexer-devel - spec: - lookupPolicy: - local: true - - # BuildConfig using Docker build strategy - - apiVersion: v1 - kind: BuildConfig - metadata: - name: publicapi-indexer-build-devel - labels: - app: publicapi-indexer-devel - spec: - source: - git: - uri: https://github.com/CSCfi/research-fi-publicapi.git - ref: devel - contextDir: . - strategy: - dockerStrategy: - dockerfilePath: aspnetcore/openshift/indexer/Dockerfile - output: - to: - kind: ImageStreamTag - name: publicapi-indexer-devel:latest - successfulBuildsHistoryLimit: 4 - failedBuildsHistoryLimit: 4 diff --git a/aspnetcore/openshift/indexer/template-indexer-app-production.yml b/aspnetcore/openshift/indexer/template-indexer-app-production.yml deleted file mode 100644 index 4f86400..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-app-production.yml +++ /dev/null @@ -1,47 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-production - template: publicapi-indexer-production - name: publicapi-indexer-production -objects: - # ImageStream (production) - - apiVersion: v1 - kind: ImageStream - metadata: - name: publicapi-indexer-production - labels: - app: publicapi-indexer-production - spec: - lookupPolicy: - local: true - - # BuildConfig using Docker build strategy - - apiVersion: v1 - kind: BuildConfig - metadata: - name: publicapi-indexer-build-production - labels: - app: publicapi-indexer-production - spec: - source: - git: - uri: https://github.com/CSCfi/research-fi-publicapi.git - ref: main - contextDir: . - strategy: - dockerStrategy: - dockerfilePath: aspnetcore/openshift/indexer/Dockerfile - output: - to: - kind: ImageStreamTag - name: publicapi-indexer-production:latest - successfulBuildsHistoryLimit: 4 - failedBuildsHistoryLimit: 4 diff --git a/aspnetcore/openshift/indexer/template-indexer-app-qa.yml b/aspnetcore/openshift/indexer/template-indexer-app-qa.yml deleted file mode 100644 index ae3410a..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-app-qa.yml +++ /dev/null @@ -1,47 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-qa - template: publicapi-indexer-qa - name: publicapi-indexer-qa -objects: - # ImageStream (qa) - - apiVersion: v1 - kind: ImageStream - metadata: - name: publicapi-indexer-qa - labels: - app: publicapi-indexer-qa - spec: - lookupPolicy: - local: true - - # BuildConfig using Docker build strategy - - apiVersion: v1 - kind: BuildConfig - metadata: - name: publicapi-indexer-build-qa - labels: - app: publicapi-indexer-qa - spec: - source: - git: - uri: https://github.com/CSCfi/research-fi-publicapi.git - ref: qa - contextDir: . - strategy: - dockerStrategy: - dockerfilePath: aspnetcore/openshift/indexer/Dockerfile - output: - to: - kind: ImageStreamTag - name: publicapi-indexer-qa:latest - successfulBuildsHistoryLimit: 4 - failedBuildsHistoryLimit: 4 diff --git a/aspnetcore/openshift/indexer/template-indexer-cronjob-devel.yml b/aspnetcore/openshift/indexer/template-indexer-cronjob-devel.yml deleted file mode 100644 index 6c76306..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-cronjob-devel.yml +++ /dev/null @@ -1,118 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-devel - template: publicapi-indexer-cronjob-devel - name: publicapi-indexer-cronjob-devel -objects: - # Recurring CronJob (devel) - # Indexes db entities to ElasticSearch. - - apiVersion: batch/v1beta1 - kind: CronJob - metadata: - name: publicapi-indexer-cronjob-devel - spec: - schedule: "0 1 * * *" # every day at 01:00 UTC - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 300 # Can start 5 minutes after the schedule - suspend: false - successfulJobsHistoryLimit: 3 - failedJobsHistoryLimit: 3 - jobTemplate: - spec: - activeDeadlineSeconds: 2400 # Can run for 40 minutes - template: - spec: - containers: - - name: publicapi-indexer-container-devel - image: publicapi-indexer-devel - imagePullPolicy: Always - env: - - name: "ELASTICSEARCH__PASSWORD" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-devel - key: "ELASTICSEARCH__PASSWORD" - - name: "dbconnectionstring" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-devel - key: dbconnectionstring - - name: "ELASTICSEARCH__URL" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "ELASTICSEARCH__URL" - - name: "ELASTICSEARCH__USERNAME" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "ELASTICSEARCH__USERNAME" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - - name: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - - name: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - - name: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - - name: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - - name: "Serilog__MinimumLevel__Default" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__MinimumLevel__Default" - - name: "Serilog__WriteTo__HttpSink__Args__requestUri" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__WriteTo__HttpSink__Args__requestUri" - - name: "Serilog__Properties__WoodLogProjectNumber" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__Properties__WoodLogProjectNumber" - - name: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - - name: "Serilog__Properties__WoodLogUsecaseIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__Properties__WoodLogUsecaseIndexer" - - name: "QueryTimeout" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "QueryTimeout" - restartPolicy: Never diff --git a/aspnetcore/openshift/indexer/template-indexer-cronjob-production.yml b/aspnetcore/openshift/indexer/template-indexer-cronjob-production.yml deleted file mode 100644 index bb0461f..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-cronjob-production.yml +++ /dev/null @@ -1,118 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-production - template: publicapi-indexer-cronjob-production - name: publicapi-indexer-cronjob-production -objects: - # Recurring CronJob (production) - # Indexes db entities to ElasticSearch. - - apiVersion: batch/v1beta1 - kind: CronJob - metadata: - name: publicapi-indexer-cronjob-production - spec: - schedule: "40 19 * * *" # every day at 19:40 UTC - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 300 # Can start 5 minutes after the schedule - suspend: false - successfulJobsHistoryLimit: 3 - failedJobsHistoryLimit: 3 - jobTemplate: - spec: - activeDeadlineSeconds: 2400 # Can run for 40 minutes - template: - spec: - containers: - - name: publicapi-indexer-container-production - image: publicapi-indexer-production - imagePullPolicy: Always - env: - - name: "ELASTICSEARCH__PASSWORD" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-production - key: "ELASTICSEARCH__PASSWORD" - - name: "dbconnectionstring" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-production - key: dbconnectionstring - - name: "ELASTICSEARCH__URL" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "ELASTICSEARCH__URL" - - name: "ELASTICSEARCH__USERNAME" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "ELASTICSEARCH__USERNAME" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - - name: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - - name: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - - name: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - - name: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - - name: "Serilog__MinimumLevel__Default" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__MinimumLevel__Default" - - name: "Serilog__WriteTo__HttpSink__Args__requestUri" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__WriteTo__HttpSink__Args__requestUri" - - name: "Serilog__Properties__WoodLogProjectNumber" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__Properties__WoodLogProjectNumber" - - name: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - - name: "Serilog__Properties__WoodLogUsecaseIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__Properties__WoodLogUsecaseIndexer" - - name: "QueryTimeout" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "QueryTimeout" - restartPolicy: Never diff --git a/aspnetcore/openshift/indexer/template-indexer-cronjob-qa.yml b/aspnetcore/openshift/indexer/template-indexer-cronjob-qa.yml deleted file mode 100644 index cbc6d1f..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-cronjob-qa.yml +++ /dev/null @@ -1,118 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-qa - template: publicapi-indexer-cronjob-qa - name: publicapi-indexer-cronjob-qa -objects: - # Recurring CronJob (qa) - # Indexes db entities to ElasticSearch. - - apiVersion: batch/v1beta1 - kind: CronJob - metadata: - name: publicapi-indexer-cronjob-qa - spec: - schedule: "0 2 * * *" # every day at 02:00 UTC - concurrencyPolicy: "Forbid" - startingDeadlineSeconds: 300 # Can start 5 minutes after the schedule - suspend: false - successfulJobsHistoryLimit: 3 - failedJobsHistoryLimit: 3 - jobTemplate: - spec: - activeDeadlineSeconds: 2400 # Can run for 40 minutes - template: - spec: - containers: - - name: publicapi-indexer-container-qa - image: publicapi-indexer-qa - imagePullPolicy: Always - env: - - name: "ELASTICSEARCH__PASSWORD" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-qa - key: "ELASTICSEARCH__PASSWORD" - - name: "dbconnectionstring" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-qa - key: dbconnectionstring - - name: "ELASTICSEARCH__URL" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "ELASTICSEARCH__URL" - - name: "ELASTICSEARCH__USERNAME" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "ELASTICSEARCH__USERNAME" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - - name: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - - name: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - - name: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - - name: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - - name: "Serilog__MinimumLevel__Default" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__MinimumLevel__Default" - - name: "Serilog__WriteTo__HttpSink__Args__requestUri" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__WriteTo__HttpSink__Args__requestUri" - - name: "Serilog__Properties__WoodLogProjectNumber" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__Properties__WoodLogProjectNumber" - - name: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - - name: "Serilog__Properties__WoodLogUsecaseIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__Properties__WoodLogUsecaseIndexer" - - name: "QueryTimeout" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "QueryTimeout" - restartPolicy: Never \ No newline at end of file diff --git a/aspnetcore/openshift/indexer/template-indexer-manualjob-devel.yml b/aspnetcore/openshift/indexer/template-indexer-manualjob-devel.yml deleted file mode 100644 index 70b80f8..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-manualjob-devel.yml +++ /dev/null @@ -1,113 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2024 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-devel - template: publicapi-indexer-devel - name: publicapi-indexer-devel -objects: - # Single-run Job (devel) - # Use this job to index entities to ElasticSearch manually when needed. - - apiVersion: batch/v1 - kind: Job - metadata: - name: publicapi-indexer-job-devel - labels: - app: publicapi-indexer-devel - annotations: - description: ElasticSearch indexer for Public devel branch - spec: - template: - spec: - containers: - - name: publicapi-indexer-container-devel - image: publicapi-indexer-devel - imagePullPolicy: Always - env: - - name: "ELASTICSEARCH__PASSWORD" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-devel - key: "ELASTICSEARCH__PASSWORD" - - name: "dbconnectionstring" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-devel - key: dbconnectionstring - - name: "ELASTICSEARCH__URL" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "ELASTICSEARCH__URL" - - name: "ELASTICSEARCH__USERNAME" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "ELASTICSEARCH__USERNAME" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - - name: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - - name: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - - name: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - - name: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - - name: "Serilog__MinimumLevel__Default" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__MinimumLevel__Default" - - name: "Serilog__WriteTo__HttpSink__Args__requestUri" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__WriteTo__HttpSink__Args__requestUri" - - name: "Serilog__Properties__WoodLogProjectNumber" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__Properties__WoodLogProjectNumber" - - name: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - - name: "Serilog__Properties__WoodLogUsecaseIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "Serilog__Properties__WoodLogUsecaseIndexer" - - name: "QueryTimeout" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-devel - key: "QueryTimeout" - restartPolicy: Never \ No newline at end of file diff --git a/aspnetcore/openshift/indexer/template-indexer-manualjob-production.yml b/aspnetcore/openshift/indexer/template-indexer-manualjob-production.yml deleted file mode 100644 index 3667fbd..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-manualjob-production.yml +++ /dev/null @@ -1,113 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2023 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-production - template: publicapi-indexer-production - name: publicapi-indexer-production -objects: - # Single-run Job (production) - # Use this job to index entities to ElasticSearch manually when needed. - - apiVersion: batch/v1 - kind: Job - metadata: - name: publicapi-indexer-job-production - labels: - app: publicapi-indexer-production - annotations: - description: ElasticSearch indexer for Public production branch - spec: - template: - spec: - containers: - - name: publicapi-indexer-container-production - image: publicapi-indexer-production - imagePullPolicy: Always - env: - - name: "ELASTICSEARCH__PASSWORD" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-production - key: "ELASTICSEARCH__PASSWORD" - - name: "dbconnectionstring" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-production - key: dbconnectionstring - - name: "ELASTICSEARCH__URL" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "ELASTICSEARCH__URL" - - name: "ELASTICSEARCH__USERNAME" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "ELASTICSEARCH__USERNAME" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - - name: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - - name: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - - name: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - - name: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - - name: "Serilog__MinimumLevel__Default" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__MinimumLevel__Default" - - name: "Serilog__WriteTo__HttpSink__Args__requestUri" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__WriteTo__HttpSink__Args__requestUri" - - name: "Serilog__Properties__WoodLogProjectNumber" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__Properties__WoodLogProjectNumber" - - name: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - - name: "Serilog__Properties__WoodLogUsecaseIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "Serilog__Properties__WoodLogUsecaseIndexer" - - name: "QueryTimeout" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-production - key: "QueryTimeout" - restartPolicy: Never \ No newline at end of file diff --git a/aspnetcore/openshift/indexer/template-indexer-manualjob-qa.yml b/aspnetcore/openshift/indexer/template-indexer-manualjob-qa.yml deleted file mode 100644 index 23ba631..0000000 --- a/aspnetcore/openshift/indexer/template-indexer-manualjob-qa.yml +++ /dev/null @@ -1,113 +0,0 @@ -# This file is part of the research.fi api -# -# Copyright 2023 Ministry of Education and Culture, Finland -# -# :author: CSC - IT Center for Science Ltd., Espoo Finland servicedesk@csc.fi -# :license: MIT -apiVersion: v1 -kind: Template -metadata: - labels: - app: publicapi-indexer-qa - template: publicapi-indexer-qa - name: publicapi-indexer-qa -objects: - # Single-run Job (qa) - # Use this job to index entities to ElasticSearch manually when needed. - - apiVersion: batch/v1 - kind: Job - metadata: - name: publicapi-indexer-job-qa - labels: - app: publicapi-indexer-qa - annotations: - description: ElasticSearch indexer for Public qa branch - spec: - template: - spec: - containers: - - name: publicapi-indexer-container-qa - image: publicapi-indexer-qa - imagePullPolicy: Always - env: - - name: "ELASTICSEARCH__PASSWORD" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-qa - key: "ELASTICSEARCH__PASSWORD" - - name: "dbconnectionstring" - valueFrom: - secretKeyRef: - name: publicapi-api-secret-qa - key: dbconnectionstring - - name: "ELASTICSEARCH__URL" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "ELASTICSEARCH__URL" - - name: "ELASTICSEARCH__USERNAME" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "ELASTICSEARCH__USERNAME" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.FundingCall.FundingCall" - - name: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.FundingDecision.FundingDecision" - - name: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.Infrastructure.Infrastructure" - - name: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.Organization.Organization" - - name: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.Publication.Publication" - - name: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "IndexNames__CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset" - - name: "Serilog__MinimumLevel__Default" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__MinimumLevel__Default" - - name: "Serilog__WriteTo__HttpSink__Args__requestUri" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__WriteTo__HttpSink__Args__requestUri" - - name: "Serilog__Properties__WoodLogProjectNumber" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__Properties__WoodLogProjectNumber" - - name: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__Properties__WoodLogRetentionMonthsIndexer" - - name: "Serilog__Properties__WoodLogUsecaseIndexer" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "Serilog__Properties__WoodLogUsecaseIndexer" - - name: "QueryTimeout" - valueFrom: - configMapKeyRef: - name: publicapi-api-config-qa - key: "QueryTimeout" - restartPolicy: Never \ No newline at end of file diff --git a/aspnetcore/src/ApiModels/ApiModels.csproj b/aspnetcore/src/ApiModels/ApiModels.csproj index 4adda64..0b9f737 100644 --- a/aspnetcore/src/ApiModels/ApiModels.csproj +++ b/aspnetcore/src/ApiModels/ApiModels.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable ResearchFi diff --git a/aspnetcore/src/DatabaseContext/ApiDbContext.cs b/aspnetcore/src/DatabaseContext/ApiDbContext.cs index 0b31848..111bee8 100644 --- a/aspnetcore/src/DatabaseContext/ApiDbContext.cs +++ b/aspnetcore/src/DatabaseContext/ApiDbContext.cs @@ -1,5054 +1,4143 @@ using System; using System.Collections.Generic; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Metadata; using CSC.PublicApi.DatabaseContext.Entities; +using Microsoft.EntityFrameworkCore; -namespace CSC.PublicApi.DatabaseContext +namespace CSC.PublicApi.DatabaseContext; + +public partial class ApiDbContext : DbContext { - public partial class ApiDbContext : DbContext + public ApiDbContext() { - public ApiDbContext() - { - } - - public ApiDbContext(DbContextOptions options) - : base(options) - { - } - - public virtual DbSet BrDatasetDatasetRelationships { get; set; } = null!; - public virtual DbSet BrFundingConsortiumParticipations { get; set; } = null!; - public virtual DbSet BrGrantedPermissions { get; set; } = null!; - public virtual DbSet BrParticipatesInFundingGroups { get; set; } = null!; - public virtual DbSet BrServiceSubscriptions { get; set; } = null!; - public virtual DbSet BrWordClusterDimFundingDecisions { get; set; } = null!; - public virtual DbSet BrWordsDefineAClusters { get; set; } = null!; - public virtual DbSet DimAffiliations { get; set; } = null!; - public virtual DbSet DimCallDecisions { get; set; } = null!; - public virtual DbSet DimCallProgrammes { get; set; } = null!; - public virtual DbSet DimCompetences { get; set; } = null!; - public virtual DbSet DimDates { get; set; } = null!; - public virtual DbSet DimEducations { get; set; } = null!; - public virtual DbSet DimEmailAddrresses { get; set; } = null!; - public virtual DbSet DimEsfris { get; set; } = null!; - public virtual DbSet DimEvents { get; set; } = null!; - public virtual DbSet DimExternalServices { get; set; } = null!; - public virtual DbSet DimFieldDisplaySettings { get; set; } = null!; - public virtual DbSet DimFundingDecisions { get; set; } = null!; - public virtual DbSet DimGeos { get; set; } = null!; - public virtual DbSet DimIdentifierlessData { get; set; } = null!; - public virtual DbSet DimInfrastructures { get; set; } = null!; - public virtual DbSet DimKeywords { get; set; } = null!; - public virtual DbSet DimKnownPeople { get; set; } = null!; - public virtual DbSet DimLocallyReportedPubInfos { get; set; } = null!; - public virtual DbSet DimMerils { get; set; } = null!; - public virtual DbSet DimMinedWords { get; set; } = null!; - public virtual DbSet DimNames { get; set; } = null!; - public virtual DbSet DimNewsFeeds { get; set; } = null!; - public virtual DbSet DimNewsItems { get; set; } = null!; - public virtual DbSet DimOrganisationMedia { get; set; } = null!; - public virtual DbSet DimOrganizations { get; set; } = null!; - public virtual DbSet DimPids { get; set; } = null!; - public virtual DbSet DimProfileOnlyDatasets { get; set; } = null!; - public virtual DbSet DimProfileOnlyFundingDecisions { get; set; } = null!; - public virtual DbSet DimProfileOnlyPublications { get; set; } = null!; - public virtual DbSet DimProfileOnlyResearchActivities { get; set; } = null!; - public virtual DbSet DimPublications { get; set; } = null!; - public virtual DbSet DimPublicationChannels { get; set; } = null!; - public virtual DbSet DimPurposes { get; set; } = null!; - public virtual DbSet DimReferencedata { get; set; } = null!; - public virtual DbSet DimRegisteredDataSources { get; set; } = null!; - public virtual DbSet DimResearchActivities { get; set; } = null!; - public virtual DbSet DimResearchActivityDimKeywords { get; set; } = null!; - public virtual DbSet DimResearchCommunities { get; set; } = null!; - public virtual DbSet DimResearchDataCatalogs { get; set; } = null!; - public virtual DbSet DimResearchDatasets { get; set; } = null!; - public virtual DbSet DimResearchProjects { get; set; } = null!; - public virtual DbSet DimResearcherDescriptions { get; set; } = null!; - public virtual DbSet DimResearcherToResearchCommunities { get; set; } = null!; - public virtual DbSet DimSectors { get; set; } = null!; - public virtual DbSet DimServices { get; set; } = null!; - public virtual DbSet DimServicePoints { get; set; } = null!; - public virtual DbSet DimTelephoneNumbers { get; set; } = null!; - public virtual DbSet DimTypeOfFundings { get; set; } = null!; - public virtual DbSet DimUserChoices { get; set; } = null!; - public virtual DbSet DimUserProfiles { get; set; } = null!; - public virtual DbSet DimWebLinks { get; set; } = null!; - public virtual DbSet DimWordClusters { get; set; } = null!; - public virtual DbSet FactContributions { get; set; } = null!; - public virtual DbSet FactDimReferencedataFieldOfSciences { get; set; } = null!; - public virtual DbSet FactFieldValues { get; set; } = null!; - public virtual DbSet FactInfraKeywords { get; set; } = null!; - public virtual DbSet FactUpkeeps { get; set; } = null!; - - protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) - { - if (!optionsBuilder.IsConfigured) - { -#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263. - optionsBuilder.UseSqlServer("Server=localhost;User Id=ttvuser;Password=Tdsfkjds7632eDSG;database=Ttv_2024_05_20;Encrypt=False"); - } - } - - protected override void OnModelCreating(ModelBuilder modelBuilder) - { - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimResearchDatasetId, e.DimResearchDatasetId2 }) - .HasName("PK__br_datas__9FEA685A42BC14F8"); - - entity.ToTable("br_dataset_dataset_relationship"); - - entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); - - entity.Property(e => e.DimResearchDatasetId2).HasColumnName("dim_research_dataset_id2"); - - entity.Property(e => e.Type) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("type"); - - entity.HasOne(d => d.DimResearchDataset) - .WithMany(p => p.BrDatasetDatasetRelationshipDimResearchDatasets) - .HasForeignKey(d => d.DimResearchDatasetId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_dataset173300"); - - entity.HasOne(d => d.DimResearchDatasetId2Navigation) - .WithMany(p => p.BrDatasetDatasetRelationshipDimResearchDatasetId2Navigations) - .HasForeignKey(d => d.DimResearchDatasetId2) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_dataset168991"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationid }) - .HasName("PK__br_fundi__3DB567F8049F75A0"); - - entity.ToTable("br_funding_consortium_participation"); - - entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); - - entity.Property(e => e.DimOrganizationid).HasColumnName("dim_organizationid"); - - entity.Property(e => e.EndOfParticipation).HasColumnName("end_of_participation"); - - entity.Property(e => e.RoleInConsortium) - .HasMaxLength(255) - .HasColumnName("role_in_consortium"); - - entity.Property(e => e.ShareOfFundingInEur) - .HasColumnType("decimal(18, 2)") - .HasColumnName("share_of_funding_in_EUR"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.BrFundingConsortiumParticipations) - .HasForeignKey(d => d.DimFundingDecisionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_funding504308"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.BrFundingConsortiumParticipations) - .HasForeignKey(d => d.DimOrganizationid) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_funding503907"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimUserProfileId, e.DimExternalServiceId, e.DimPermittedFieldGroup }) - .HasName("PK__br_grant__F51F7BCBBAD8CEA9"); - - entity.ToTable("br_granted_permissions"); - - entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); - - entity.Property(e => e.DimExternalServiceId).HasColumnName("dim_external_service_id"); - - entity.Property(e => e.DimPermittedFieldGroup).HasColumnName("dim_permitted_field_group"); - - entity.HasOne(d => d.DimExternalService) - .WithMany(p => p.BrGrantedPermissions) - .HasForeignKey(d => d.DimExternalServiceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_granted953402"); - - entity.HasOne(d => d.DimPermittedFieldGroupNavigation) - .WithMany(p => p.BrGrantedPermissions) - .HasForeignKey(d => d.DimPermittedFieldGroup) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("field group"); - - entity.HasOne(d => d.DimUserProfile) - .WithMany(p => p.BrGrantedPermissions) - .HasForeignKey(d => d.DimUserProfileId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("permitted_services"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimFundingDecisionid, e.DimNameId }) - .HasName("PK_br_participates_in_funding_group_1"); - - entity.ToTable("br_participates_in_funding_group"); - - entity.Property(e => e.DimFundingDecisionid).HasColumnName("dim_funding_decisionid"); - - entity.Property(e => e.DimNameId).HasColumnName("dim_name_id"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.EndOfParticipation).HasColumnName("end_of_participation"); - - entity.Property(e => e.RoleInFundingGroup) - .HasMaxLength(255) - .HasColumnName("role_in_funding_group"); - - entity.Property(e => e.ShareOfFundingInEur) - .HasColumnType("decimal(18, 2)") - .HasColumnName("share_of_funding_in_EUR"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.BrParticipatesInFundingGroups) - .HasForeignKey(d => d.DimFundingDecisionid) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_partici137682"); - - entity.HasOne(d => d.DimName) - .WithMany(p => p.BrParticipatesInFundingGroups) - .HasForeignKey(d => d.DimNameId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_partici869162"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.BrParticipatesInFundingGroups) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("get_funding_in_name_of_org"); - }); - - modelBuilder.Entity(entity => - { - entity.HasNoKey(); - - entity.ToTable("br_service_subscription"); - - entity.Property(e => e.DimExternalServiceId).HasColumnName("dim_external_service_id"); - - entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); - - entity.HasOne(d => d.DimExternalService) - .WithMany() - .HasForeignKey(d => d.DimExternalServiceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_service763943"); - - entity.HasOne(d => d.DimUserProfile) - .WithMany() - .HasForeignKey(d => d.DimUserProfileId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("permitted services"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimWordClusterId, e.DimFundingDecisionId }) - .HasName("PK__br_word___7D640B5A5D4D7F32"); - - entity.ToTable("br_word_cluster_dim_funding_decision"); - - entity.Property(e => e.DimWordClusterId).HasColumnName("dim_word_cluster_id"); - - entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.BrWordClusterDimFundingDecisions) - .HasForeignKey(d => d.DimFundingDecisionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_word_cl350721"); - - entity.HasOne(d => d.DimWordCluster) - .WithMany(p => p.BrWordClusterDimFundingDecisions) - .HasForeignKey(d => d.DimWordClusterId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_word_cl424955"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimMinedWordsId, e.DimWordClusterId }) - .HasName("PK__br_words__0602FA376B95D316"); - - entity.ToTable("br_words_define_a_cluster"); - - entity.Property(e => e.DimMinedWordsId).HasColumnName("dim_mined_words_id"); - - entity.Property(e => e.DimWordClusterId).HasColumnName("dim_word_cluster_id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimMinedWords) - .WithMany(p => p.BrWordsDefineAClusters) - .HasForeignKey(d => d.DimMinedWordsId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_words_d537149"); - - entity.HasOne(d => d.DimWordCluster) - .WithMany(p => p.BrWordsDefineAClusters) - .HasForeignKey(d => d.DimWordClusterId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKbr_words_d714819"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_affiliation"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.AffiliationTypeEn) - .HasMaxLength(255) - .HasColumnName("affiliation_type_en"); - - entity.Property(e => e.AffiliationTypeFi) - .HasMaxLength(255) - .HasColumnName("affiliation_type_fi"); - - entity.Property(e => e.AffiliationTypeSv) - .HasMaxLength(255) - .HasColumnName("affiliation_type_sv"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.EndDate).HasColumnName("end_date"); - - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.PositionCode).HasColumnName("position_code"); - - entity.Property(e => e.PositionNameEn) - .HasMaxLength(255) - .HasColumnName("position_name_en"); - - entity.Property(e => e.PositionNameFi) - .HasMaxLength(255) - .HasColumnName("position_name_fi"); - - entity.Property(e => e.PositionNameSv) - .HasMaxLength(255) - .HasColumnName("position_name_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.StartDate).HasColumnName("start_date"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimAffiliations) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_affili162369"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimAffiliations) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_affili510828"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimAffiliations) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_affili501573"); - - entity.HasOne(d => d.EndDateNavigation) - .WithMany(p => p.DimAffiliationEndDateNavigations) - .HasForeignKey(d => d.EndDate) - .HasConstraintName("FKdim_affili435050"); - - entity.HasOne(d => d.PositionCodeNavigation) - .WithMany(p => p.DimAffiliations) - .HasForeignKey(d => d.PositionCode) - .HasConstraintName("FKdim_affili562212"); - - entity.HasOne(d => d.StartDateNavigation) - .WithMany(p => p.DimAffiliationStartDateNavigations) - .HasForeignKey(d => d.StartDate) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_affili706343"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_call_decisions"); - - entity.HasComment("Rahoituspäätöspaneeli"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.CallProcessingPhase) - .HasMaxLength(255) - .HasColumnName("call_processing_phase") - .HasComment("Rahoituspäätöspaneeli - Haun vaihe"); - - entity.Property(e => e.DecisionMaker).HasColumnName("decision_maker"); - - entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); - - entity.Property(e => e.DimDateIdApproval).HasColumnName("dim_date_id_approval"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DecisionMakerNavigation) - .WithMany(p => p.DimCallDecisions) - .HasForeignKey(d => d.DecisionMaker) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("decision_maker"); - - entity.HasOne(d => d.DimCallProgramme) - .WithMany(p => p.DimCallDecisions) - .HasForeignKey(d => d.DimCallProgrammeId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_call_d831756"); - - entity.HasOne(d => d.DimDateIdApprovalNavigation) - .WithMany(p => p.DimCallDecisions) - .HasForeignKey(d => d.DimDateIdApproval) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_call_d543999"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_call_programme"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Abbreviation) - .HasMaxLength(511) - .HasColumnName("abbreviation"); - - entity.Property(e => e.ApplicationTermsEn).HasColumnName("application_terms_en"); - - entity.Property(e => e.ApplicationTermsFi).HasColumnName("application_terms_fi"); - - entity.Property(e => e.ApplicationTermsSv).HasColumnName("application_terms_sv"); - - entity.Property(e => e.CallNameDetailsEn) - .HasMaxLength(255) - .HasColumnName("call_name_details_en"); - - entity.Property(e => e.CallNameDetailsFi) - .HasMaxLength(255) - .HasColumnName("call_name_details_fi"); - - entity.Property(e => e.CallNameDetailsSv) - .HasMaxLength(255) - .HasColumnName("call_name_details_sv"); - - entity.Property(e => e.ContactInformation).HasColumnName("contact_information"); - - entity.Property(e => e.ContinuousApplicationPeriod).HasColumnName("continuous_application_period"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); - - entity.Property(e => e.DimDateIdDue).HasColumnName("dim_date_id_due"); - - entity.Property(e => e.DimDateIdOpen).HasColumnName("dim_date_id_open"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DueDateDueTime) - .HasColumnType("time(0)") - .HasColumnName("due_date_due_time"); - - entity.Property(e => e.EuCallId) - .HasMaxLength(511) - .HasColumnName("eu_call_id"); - - entity.Property(e => e.IsOpenCall).HasColumnName("is_open_call"); - - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(511) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(511) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(511) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(511) - .HasColumnName("name_und"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.SourceProgrammeId) - .HasMaxLength(55) - .HasColumnName("source_programme_id"); - - entity.Property(e => e.TypeOfFunding).HasColumnName("type_of_funding"); - - entity.HasOne(d => d.DimCallProgrammeNavigation) - .WithMany(p => p.InverseDimCallProgrammeNavigation) - .HasForeignKey(d => d.DimCallProgrammeId) - .HasConstraintName("parent_programme"); - - entity.HasOne(d => d.DimDateIdDueNavigation) - .WithMany(p => p.DimCallProgrammeDimDateIdDueNavigations) - .HasForeignKey(d => d.DimDateIdDue) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("open "); - - entity.HasOne(d => d.DimDateIdOpenNavigation) - .WithMany(p => p.DimCallProgrammeDimDateIdOpenNavigations) - .HasForeignKey(d => d.DimDateIdOpen) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("close"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimCallProgrammes) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_call_p102028"); - - entity.HasOne(d => d.TypeOfFundingNavigation) - .WithMany(p => p.DimCallProgrammesNavigation) - .HasForeignKey(d => d.TypeOfFunding) - .HasConstraintName("type_of_funding"); - - entity.HasMany(d => d.DimCallProgrammeId2s) - .WithMany(p => p.DimCallProgrammes) - .UsingEntity>( - "BrCallProgrammeDimCallProgramme", - l => l.HasOne().WithMany().HasForeignKey("DimCallProgrammeId2").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_call_pr785575"), - r => r.HasOne().WithMany().HasForeignKey("DimCallProgrammeId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("belongs to / a part of "), - j => - { - j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB0AA05110"); - - j.ToTable("br_call_programme_dim_call_programme"); - - j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id"); - - j.IndexerProperty("DimCallProgrammeId2").HasColumnName("dim_call_programme_id2"); - }); - - entity.HasMany(d => d.DimCallProgrammes) - .WithMany(p => p.DimCallProgrammeId2s) - .UsingEntity>( - "BrCallProgrammeDimCallProgramme", - l => l.HasOne().WithMany().HasForeignKey("DimCallProgrammeId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("belongs to / a part of "), - r => r.HasOne().WithMany().HasForeignKey("DimCallProgrammeId2").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_call_pr785575"), - j => - { - j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB0AA05110"); - - j.ToTable("br_call_programme_dim_call_programme"); - - j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id"); - - j.IndexerProperty("DimCallProgrammeId2").HasColumnName("dim_call_programme_id2"); - }); - - entity.HasMany(d => d.DimReferencedata) - .WithMany(p => p.DimCallProgrammes) - .UsingEntity>( - "BrDimReferencedataDimCallProgramme", - l => l.HasOne().WithMany().HasForeignKey("DimReferencedataId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_dim_ref172472"), - r => r.HasOne().WithMany().HasForeignKey("DimCallProgrammeId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("has disciplines"), - j => - { - j.HasKey("DimCallProgrammeId", "DimReferencedataId").HasName("PK__br_dim_r__0A5B885D12A8CA2F"); - - j.ToTable("br_dim_referencedata_dim_call_programme"); - - j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id"); - - j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_competence"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.CompetenceType).HasColumnName("competence_type"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn) - .HasMaxLength(4000) - .HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi) - .HasMaxLength(4000) - .HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv) - .HasMaxLength(4000) - .HasColumnName("description_sv"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.LocalIdentifier).HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimCompetences) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("competence"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimCompetences) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_compet151101"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_date"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Day).HasColumnName("day"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.Month).HasColumnName("month"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Year).HasColumnName("year"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_education"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Credits).HasColumnName("credits"); - - entity.Property(e => e.DegreeGrantingInstitutionName) - .HasMaxLength(511) - .HasColumnName("degree_granting_institution_name"); - - entity.Property(e => e.DegreeNameEn) - .HasMaxLength(4000) - .HasColumnName("degree_name_en"); + } - entity.Property(e => e.DegreeNameFi) - .HasMaxLength(4000) - .HasColumnName("degree_name_fi"); + public ApiDbContext(DbContextOptions options) + : base(options) + { + } - entity.Property(e => e.DegreeNameSv) - .HasMaxLength(4000) - .HasColumnName("degree_name_sv"); + public virtual DbSet BrDatasetDatasetRelationships { get; set; } - entity.Property(e => e.DescriptionEn) - .HasMaxLength(4000) - .HasColumnName("description_en"); + public virtual DbSet BrFundingConsortiumParticipations { get; set; } - entity.Property(e => e.DescriptionFi) - .HasMaxLength(4000) - .HasColumnName("description_fi"); + public virtual DbSet BrGrantedPermissions { get; set; } - entity.Property(e => e.DescriptionSv) - .HasMaxLength(4000) - .HasColumnName("description_sv"); + public virtual DbSet BrParticipatesInFundingGroups { get; set; } - entity.Property(e => e.DimEndDate).HasColumnName("dim_end_date"); + public virtual DbSet BrServiceSubscriptions { get; set; } - entity.Property(e => e.DimInstructionLanguage).HasColumnName("dim_instruction_language"); + public virtual DbSet BrWordClusterDimFundingDecisions { get; set; } - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + public virtual DbSet BrWordsDefineAClusters { get; set; } - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + public virtual DbSet DimAffiliations { get; set; } - entity.Property(e => e.DimStartDate).HasColumnName("dim_start_date"); + public virtual DbSet DimCallDecisions { get; set; } - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); + public virtual DbSet DimCallProgrammes { get; set; } - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); + public virtual DbSet DimCompetences { get; set; } - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); + public virtual DbSet DimDates { get; set; } - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi"); + public virtual DbSet DimEducations { get; set; } - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); + public virtual DbSet DimEmailAddrresses { get; set; } - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); + public virtual DbSet DimEsfris { get; set; } - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); + public virtual DbSet DimEvents { get; set; } - entity.HasOne(d => d.DimEndDateNavigation) - .WithMany(p => p.DimEducationDimEndDateNavigations) - .HasForeignKey(d => d.DimEndDate) - .HasConstraintName("education end"); + public virtual DbSet DimExternalServices { get; set; } - entity.HasOne(d => d.DimInstructionLanguageNavigation) - .WithMany(p => p.DimEducations) - .HasForeignKey(d => d.DimInstructionLanguage) - .HasConstraintName("FKdim_educat732488"); + public virtual DbSet DimFieldDisplaySettings { get; set; } - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimEducations) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("education"); + public virtual DbSet DimFundingDecisions { get; set; } - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimEducations) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_educat81864"); + public virtual DbSet DimGeos { get; set; } - entity.HasOne(d => d.DimStartDateNavigation) - .WithMany(p => p.DimEducationDimStartDateNavigations) - .HasForeignKey(d => d.DimStartDate) - .HasConstraintName("education start"); - }); + public virtual DbSet DimIdentifierlessData { get; set; } - modelBuilder.Entity(entity => - { - entity.ToTable("dim_email_addrress"); + public virtual DbSet DimInfrastructures { get; set; } - entity.Property(e => e.Id).HasColumnName("id"); + public virtual DbSet DimKeywords { get; set; } - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); + public virtual DbSet DimKnownPeople { get; set; } - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + public virtual DbSet DimLocallyReportedPubInfos { get; set; } - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + public virtual DbSet DimMerils { get; set; } - entity.Property(e => e.Email) - .HasMaxLength(255) - .HasColumnName("email"); + public virtual DbSet DimMinedWords { get; set; } - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); + public virtual DbSet DimNames { get; set; } - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); + public virtual DbSet DimNewsFeeds { get; set; } - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); + public virtual DbSet DimNewsItems { get; set; } - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimEmailAddrresses) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_email_322546"); + public virtual DbSet DimOrganisationMedia { get; set; } - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimEmailAddrresses) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_email_341396"); - }); + public virtual DbSet DimOrganizations { get; set; } - modelBuilder.Entity(entity => - { - entity.ToTable("dim_esfri"); + public virtual DbSet DimPids { get; set; } - entity.Property(e => e.Id).HasColumnName("id"); + public virtual DbSet DimProfileOnlyDatasets { get; set; } - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); + public virtual DbSet DimProfileOnlyFundingDecisions { get; set; } - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("name_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); + public virtual DbSet DimProfileOnlyPublications { get; set; } - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); + public virtual DbSet DimProfileOnlyResearchActivities { get; set; } - entity.HasMany(d => d.DimInfrastructures) - .WithMany(p => p.DimEsfris) - .UsingEntity>( - "BrEsfriDimInfrastructure", - l => l.HasOne().WithMany().HasForeignKey("DimInfrastructureId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_esfri_d490989"), - r => r.HasOne().WithMany().HasForeignKey("DimEsfriId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_esfri_d559740"), - j => - { - j.HasKey("DimEsfriId", "DimInfrastructureId").HasName("PK__br_esfri__A4A0FE10A76756CD"); + public virtual DbSet DimPublications { get; set; } - j.ToTable("br_esfri_dim_infrastructure"); + public virtual DbSet DimPublicationChannels { get; set; } - j.IndexerProperty("DimEsfriId").HasColumnName("dim_esfri_id"); + public virtual DbSet DimPurposes { get; set; } - j.IndexerProperty("DimInfrastructureId").HasColumnName("dim_infrastructure_id"); - }); - }); + public virtual DbSet DimReferencedata { get; set; } - modelBuilder.Entity(entity => - { - entity.ToTable("dim_event"); + public virtual DbSet DimRegisteredDataSources { get; set; } - entity.Property(e => e.Id).HasColumnName("id"); + public virtual DbSet DimResearchActivities { get; set; } - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); + public virtual DbSet DimResearchActivityDimKeywords { get; set; } - entity.Property(e => e.DimDateIdEndDate).HasColumnName("dim_date_id_end_date"); + public virtual DbSet DimResearchCommunities { get; set; } - entity.Property(e => e.DimDateIdStartDate).HasColumnName("dim_date_id_start_date"); + public virtual DbSet DimResearchDataCatalogs { get; set; } - entity.Property(e => e.DimGeoIdEventCountry).HasColumnName("dim_geo_id_event_country"); + public virtual DbSet DimResearchDatasets { get; set; } - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + public virtual DbSet DimResearchProjects { get; set; } - entity.Property(e => e.EventLocationText) - .HasMaxLength(255) - .HasColumnName("event_location_text"); + public virtual DbSet DimResearcherDescriptions { get; set; } - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); + public virtual DbSet DimResearcherToResearchCommunities { get; set; } - entity.Property(e => e.NameEn) - .HasMaxLength(400) - .HasColumnName("name_en"); + public virtual DbSet DimSectors { get; set; } - entity.Property(e => e.NameFi) - .HasMaxLength(400) - .HasColumnName("name_fi"); + public virtual DbSet DimServices { get; set; } - entity.Property(e => e.NameSv) - .HasMaxLength(400) - .HasColumnName("name_sv"); + public virtual DbSet DimServicePoints { get; set; } - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); + public virtual DbSet DimTelephoneNumbers { get; set; } - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); + public virtual DbSet DimTypeOfFundings { get; set; } - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); + public virtual DbSet DimUserChoices { get; set; } - entity.HasOne(d => d.DimDateIdEndDateNavigation) - .WithMany(p => p.DimEventDimDateIdEndDateNavigations) - .HasForeignKey(d => d.DimDateIdEndDate) - .HasConstraintName("end_date"); + public virtual DbSet DimUserProfiles { get; set; } - entity.HasOne(d => d.DimDateIdStartDateNavigation) - .WithMany(p => p.DimEventDimDateIdStartDateNavigations) - .HasForeignKey(d => d.DimDateIdStartDate) - .HasConstraintName("start_date"); + public virtual DbSet DimWebLinks { get; set; } - entity.HasOne(d => d.DimGeoIdEventCountryNavigation) - .WithMany(p => p.DimEvents) - .HasForeignKey(d => d.DimGeoIdEventCountry) - .HasConstraintName("event_location"); + public virtual DbSet DimWordClusters { get; set; } - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimEvents) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_event492051"); - }); + public virtual DbSet FactContributions { get; set; } - modelBuilder.Entity(entity => - { - entity.ToTable("dim_external_service"); + public virtual DbSet FactDimReferencedataFieldOfSciences { get; set; } - entity.Property(e => e.Id).HasColumnName("id"); + public virtual DbSet FactFieldValues { get; set; } - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); + public virtual DbSet FactInfraKeywords { get; set; } - entity.Property(e => e.Description) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("description"); + public virtual DbSet FactUpkeeps { get; set; } - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimResearchDatasetId, e.DimResearchDatasetId2 }).HasName("PK__br_datas__9FEA685AAFC3B578"); - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); + entity.ToTable("br_dataset_dataset_relationship"); - entity.Property(e => e.Name) - .HasMaxLength(255) - .HasColumnName("name"); + entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); + entity.Property(e => e.DimResearchDatasetId2).HasColumnName("dim_research_dataset_id2"); + entity.Property(e => e.Type) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("type"); - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); + entity.HasOne(d => d.DimResearchDataset).WithMany(p => p.BrDatasetDatasetRelationshipDimResearchDatasets) + .HasForeignKey(d => d.DimResearchDatasetId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_dataset173300"); - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); + entity.HasOne(d => d.DimResearchDatasetId2Navigation).WithMany(p => p.BrDatasetDatasetRelationshipDimResearchDatasetId2Navigations) + .HasForeignKey(d => d.DimResearchDatasetId2) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_dataset168991"); + }); - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimExternalServices) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_extern413099"); - }); + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationid }).HasName("PK__br_fundi__3DB567F8F31EB343"); + + entity.ToTable("br_funding_consortium_participation"); + + entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); + entity.Property(e => e.DimOrganizationid).HasColumnName("dim_organizationid"); + entity.Property(e => e.EndOfParticipation).HasColumnName("end_of_participation"); + entity.Property(e => e.RoleInConsortium) + .HasMaxLength(255) + .HasColumnName("role_in_consortium"); + entity.Property(e => e.ShareOfFundingInEur) + .HasColumnType("decimal(18, 2)") + .HasColumnName("share_of_funding_in_EUR"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.BrFundingConsortiumParticipations) + .HasForeignKey(d => d.DimFundingDecisionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_funding504308"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.BrFundingConsortiumParticipations) + .HasForeignKey(d => d.DimOrganizationid) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_funding503907"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimUserProfileId, e.DimExternalServiceId, e.DimPermittedFieldGroup }).HasName("PK__br_grant__F51F7BCB2C7B526A"); - modelBuilder.Entity(entity => - { - entity.ToTable("dim_field_display_settings"); + entity.ToTable("br_granted_permissions"); - entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); + entity.Property(e => e.DimExternalServiceId).HasColumnName("dim_external_service_id"); + entity.Property(e => e.DimPermittedFieldGroup).HasColumnName("dim_permitted_field_group"); - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); + entity.HasOne(d => d.DimExternalService).WithMany(p => p.BrGrantedPermissions) + .HasForeignKey(d => d.DimExternalServiceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_granted953402"); - entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); + entity.HasOne(d => d.DimPermittedFieldGroupNavigation).WithMany(p => p.BrGrantedPermissions) + .HasForeignKey(d => d.DimPermittedFieldGroup) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("field group"); - entity.Property(e => e.FieldIdentifier).HasColumnName("field_identifier"); + entity.HasOne(d => d.DimUserProfile).WithMany(p => p.BrGrantedPermissions) + .HasForeignKey(d => d.DimUserProfileId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("permitted_services"); + }); - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimFundingDecisionid, e.DimNameId }).HasName("PK_br_participates_in_funding_group_1"); + + entity.ToTable("br_participates_in_funding_group"); + + entity.Property(e => e.DimFundingDecisionid).HasColumnName("dim_funding_decisionid"); + entity.Property(e => e.DimNameId).HasColumnName("dim_name_id"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.EndOfParticipation).HasColumnName("end_of_participation"); + entity.Property(e => e.RoleInFundingGroup) + .HasMaxLength(255) + .HasColumnName("role_in_funding_group"); + entity.Property(e => e.ShareOfFundingInEur) + .HasColumnType("decimal(18, 2)") + .HasColumnName("share_of_funding_in_EUR"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.BrParticipatesInFundingGroups) + .HasForeignKey(d => d.DimFundingDecisionid) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_partici137682"); + + entity.HasOne(d => d.DimName).WithMany(p => p.BrParticipatesInFundingGroups) + .HasForeignKey(d => d.DimNameId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_partici869162"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.BrParticipatesInFundingGroups) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("get_funding_in_name_of_org"); + }); + + modelBuilder.Entity(entity => + { + entity + .HasNoKey() + .ToTable("br_service_subscription"); - entity.Property(e => e.Show).HasColumnName("show"); + entity.Property(e => e.DimExternalServiceId).HasColumnName("dim_external_service_id"); + entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); + entity.HasOne(d => d.DimExternalService).WithMany() + .HasForeignKey(d => d.DimExternalServiceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_service763943"); - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); + entity.HasOne(d => d.DimUserProfile).WithMany() + .HasForeignKey(d => d.DimUserProfileId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("permitted services"); + }); - entity.HasOne(d => d.DimUserProfile) - .WithMany(p => p.DimFieldDisplaySettings) - .HasForeignKey(d => d.DimUserProfileId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_field_653425"); + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimWordClusterId, e.DimFundingDecisionId }).HasName("PK__br_word___7D640B5A85D9D741"); + + entity.ToTable("br_word_cluster_dim_funding_decision"); + + entity.Property(e => e.DimWordClusterId).HasColumnName("dim_word_cluster_id"); + entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.BrWordClusterDimFundingDecisions) + .HasForeignKey(d => d.DimFundingDecisionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_word_cl350721"); + + entity.HasOne(d => d.DimWordCluster).WithMany(p => p.BrWordClusterDimFundingDecisions) + .HasForeignKey(d => d.DimWordClusterId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_word_cl424955"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimMinedWordsId, e.DimWordClusterId }).HasName("PK__br_words__0602FA3716F54103"); + + entity.ToTable("br_words_define_a_cluster"); + + entity.Property(e => e.DimMinedWordsId).HasColumnName("dim_mined_words_id"); + entity.Property(e => e.DimWordClusterId).HasColumnName("dim_word_cluster_id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimMinedWords).WithMany(p => p.BrWordsDefineAClusters) + .HasForeignKey(d => d.DimMinedWordsId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_words_d537149"); + + entity.HasOne(d => d.DimWordCluster).WithMany(p => p.BrWordsDefineAClusters) + .HasForeignKey(d => d.DimWordClusterId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_words_d714819"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_affi__3213E83FEEFE4B1A"); + + entity.ToTable("dim_affiliation"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.AffiliationTypeEn) + .HasMaxLength(255) + .HasColumnName("affiliation_type_en"); + entity.Property(e => e.AffiliationTypeFi) + .HasMaxLength(255) + .HasColumnName("affiliation_type_fi"); + entity.Property(e => e.AffiliationTypeSv) + .HasMaxLength(255) + .HasColumnName("affiliation_type_sv"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.EndDate).HasColumnName("end_date"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.PositionCode).HasColumnName("position_code"); + entity.Property(e => e.PositionNameEn) + .HasMaxLength(255) + .HasColumnName("position_name_en"); + entity.Property(e => e.PositionNameFi) + .HasMaxLength(255) + .HasColumnName("position_name_fi"); + entity.Property(e => e.PositionNameSv) + .HasMaxLength(255) + .HasColumnName("position_name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.StartDate).HasColumnName("start_date"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimAffiliations) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_affili162369"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimAffiliations) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_affili510828"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimAffiliations) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_affili501573"); + + entity.HasOne(d => d.EndDateNavigation).WithMany(p => p.DimAffiliationEndDateNavigations) + .HasForeignKey(d => d.EndDate) + .HasConstraintName("FKdim_affili435050"); + + entity.HasOne(d => d.PositionCodeNavigation).WithMany(p => p.DimAffiliations) + .HasForeignKey(d => d.PositionCode) + .HasConstraintName("FKdim_affili562212"); + + entity.HasOne(d => d.StartDateNavigation).WithMany(p => p.DimAffiliationStartDateNavigations) + .HasForeignKey(d => d.StartDate) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_affili706343"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_call__3213E83F044E57BF"); + + entity.ToTable("dim_call_decisions", tb => tb.HasComment("Rahoituspäätöspaneeli")); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.CallProcessingPhase) + .HasMaxLength(255) + .HasComment("Rahoituspäätöspaneeli - Haun vaihe") + .HasColumnName("call_processing_phase"); + entity.Property(e => e.DecisionMaker).HasColumnName("decision_maker"); + entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); + entity.Property(e => e.DimDateIdApproval).HasColumnName("dim_date_id_approval"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DecisionMakerNavigation).WithMany(p => p.DimCallDecisions) + .HasForeignKey(d => d.DecisionMaker) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("decision_maker"); + + entity.HasOne(d => d.DimCallProgramme).WithMany(p => p.DimCallDecisions) + .HasForeignKey(d => d.DimCallProgrammeId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_call_d831756"); + + entity.HasOne(d => d.DimDateIdApprovalNavigation).WithMany(p => p.DimCallDecisions) + .HasForeignKey(d => d.DimDateIdApproval) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_call_d543999"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_call__3213E83FDE9183B2"); + + entity.ToTable("dim_call_programme"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Abbreviation) + .HasMaxLength(511) + .HasColumnName("abbreviation"); + entity.Property(e => e.ApplicationTermsEn).HasColumnName("application_terms_en"); + entity.Property(e => e.ApplicationTermsFi).HasColumnName("application_terms_fi"); + entity.Property(e => e.ApplicationTermsSv).HasColumnName("application_terms_sv"); + entity.Property(e => e.CallNameDetailsEn) + .HasMaxLength(255) + .HasColumnName("call_name_details_en"); + entity.Property(e => e.CallNameDetailsFi) + .HasMaxLength(255) + .HasColumnName("call_name_details_fi"); + entity.Property(e => e.CallNameDetailsSv) + .HasMaxLength(255) + .HasColumnName("call_name_details_sv"); + entity.Property(e => e.ContactInformation).HasColumnName("contact_information"); + entity.Property(e => e.ContinuousApplicationPeriod).HasColumnName("continuous_application_period"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); + entity.Property(e => e.DimDateIdDue).HasColumnName("dim_date_id_due"); + entity.Property(e => e.DimDateIdOpen).HasColumnName("dim_date_id_open"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DueDateDueTime) + .HasPrecision(0) + .HasColumnName("due_date_due_time"); + entity.Property(e => e.EuCallId) + .HasMaxLength(511) + .HasColumnName("eu_call_id"); + entity.Property(e => e.IsOpenCall).HasColumnName("is_open_call"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(511) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(511) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(511) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(511) + .HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.SourceProgrammeId) + .HasMaxLength(55) + .HasColumnName("source_programme_id"); + entity.Property(e => e.TypeOfFunding).HasColumnName("type_of_funding"); + + entity.HasOne(d => d.DimCallProgrammeNavigation).WithMany(p => p.InverseDimCallProgrammeNavigation) + .HasForeignKey(d => d.DimCallProgrammeId) + .HasConstraintName("parent_programme"); + + entity.HasOne(d => d.DimDateIdDueNavigation).WithMany(p => p.DimCallProgrammeDimDateIdDueNavigations) + .HasForeignKey(d => d.DimDateIdDue) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("open "); + + entity.HasOne(d => d.DimDateIdOpenNavigation).WithMany(p => p.DimCallProgrammeDimDateIdOpenNavigations) + .HasForeignKey(d => d.DimDateIdOpen) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("close"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimCallProgrammes) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_call_p102028"); + + entity.HasOne(d => d.TypeOfFundingNavigation).WithMany(p => p.DimCallProgrammesNavigation) + .HasForeignKey(d => d.TypeOfFunding) + .HasConstraintName("type_of_funding"); + + entity.HasMany(d => d.DimCallProgrammeId2s).WithMany(p => p.DimCallProgrammes) + .UsingEntity>( + "BrCallProgrammeDimCallProgramme", + r => r.HasOne().WithMany() + .HasForeignKey("DimCallProgrammeId2") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_call_pr785575"), + l => l.HasOne().WithMany() + .HasForeignKey("DimCallProgrammeId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("belongs to / a part of "), + j => + { + j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB92BD0549"); + j.ToTable("br_call_programme_dim_call_programme"); + j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id"); + j.IndexerProperty("DimCallProgrammeId2").HasColumnName("dim_call_programme_id2"); + }); + + entity.HasMany(d => d.DimCallProgrammes).WithMany(p => p.DimCallProgrammeId2s) + .UsingEntity>( + "BrCallProgrammeDimCallProgramme", + r => r.HasOne().WithMany() + .HasForeignKey("DimCallProgrammeId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("belongs to / a part of "), + l => l.HasOne().WithMany() + .HasForeignKey("DimCallProgrammeId2") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_call_pr785575"), + j => + { + j.HasKey("DimCallProgrammeId", "DimCallProgrammeId2").HasName("PK__br_call___6F0CEDFB92BD0549"); + j.ToTable("br_call_programme_dim_call_programme"); + j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id"); + j.IndexerProperty("DimCallProgrammeId2").HasColumnName("dim_call_programme_id2"); + }); + + entity.HasMany(d => d.DimReferencedata).WithMany(p => p.DimCallProgrammes) + .UsingEntity>( + "BrDimReferencedataDimCallProgramme", + r => r.HasOne().WithMany() + .HasForeignKey("DimReferencedataId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_dim_ref172472"), + l => l.HasOne().WithMany() + .HasForeignKey("DimCallProgrammeId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("has disciplines"), + j => + { + j.HasKey("DimCallProgrammeId", "DimReferencedataId").HasName("PK__br_dim_r__0A5B885DB465582A"); + j.ToTable("br_dim_referencedata_dim_call_programme"); + j.IndexerProperty("DimCallProgrammeId").HasColumnName("dim_call_programme_id"); + j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_comp__3213E83F772641C5"); + + entity.ToTable("dim_competence"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.CompetenceType).HasColumnName("competence_type"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(4000) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(4000) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(4000) + .HasColumnName("description_sv"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.LocalIdentifier).HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimCompetences) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("competence"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimCompetences) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_compet151101"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_date__3213E83F80D03F0C"); + + entity.ToTable("dim_date"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Day).HasColumnName("day"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.Month).HasColumnName("month"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Year).HasColumnName("year"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_educ__3213E83FB1E9147C"); + + entity.ToTable("dim_education"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Credits).HasColumnName("credits"); + entity.Property(e => e.DegreeGrantingInstitutionName) + .HasMaxLength(511) + .HasColumnName("degree_granting_institution_name"); + entity.Property(e => e.DegreeNameEn) + .HasMaxLength(4000) + .HasColumnName("degree_name_en"); + entity.Property(e => e.DegreeNameFi) + .HasMaxLength(4000) + .HasColumnName("degree_name_fi"); + entity.Property(e => e.DegreeNameSv) + .HasMaxLength(4000) + .HasColumnName("degree_name_sv"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(4000) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(4000) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(4000) + .HasColumnName("description_sv"); + entity.Property(e => e.DimEndDate).HasColumnName("dim_end_date"); + entity.Property(e => e.DimInstructionLanguage).HasColumnName("dim_instruction_language"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimStartDate).HasColumnName("dim_start_date"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimEndDateNavigation).WithMany(p => p.DimEducationDimEndDateNavigations) + .HasForeignKey(d => d.DimEndDate) + .HasConstraintName("education end"); + + entity.HasOne(d => d.DimInstructionLanguageNavigation).WithMany(p => p.DimEducations) + .HasForeignKey(d => d.DimInstructionLanguage) + .HasConstraintName("FKdim_educat732488"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimEducations) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("education"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimEducations) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_educat81864"); + + entity.HasOne(d => d.DimStartDateNavigation).WithMany(p => p.DimEducationDimStartDateNavigations) + .HasForeignKey(d => d.DimStartDate) + .HasConstraintName("education start"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_emai__3213E83FAADA17CF"); + + entity.ToTable("dim_email_addrress"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Email) + .HasMaxLength(255) + .HasColumnName("email"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimEmailAddrresses) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_email_322546"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimEmailAddrresses) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_email_341396"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_esfr__3213E83FBBA05788"); + + entity.ToTable("dim_esfri"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasMany(d => d.DimInfrastructures).WithMany(p => p.DimEsfris) + .UsingEntity>( + "BrEsfriDimInfrastructure", + r => r.HasOne().WithMany() + .HasForeignKey("DimInfrastructureId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_esfri_d490989"), + l => l.HasOne().WithMany() + .HasForeignKey("DimEsfriId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_esfri_d559740"), + j => + { + j.HasKey("DimEsfriId", "DimInfrastructureId").HasName("PK__br_esfri__A4A0FE101515BA33"); + j.ToTable("br_esfri_dim_infrastructure"); + j.IndexerProperty("DimEsfriId").HasColumnName("dim_esfri_id"); + j.IndexerProperty("DimInfrastructureId").HasColumnName("dim_infrastructure_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_even__3213E83F28A7BB02"); + + entity.ToTable("dim_event"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimDateIdEndDate).HasColumnName("dim_date_id_end_date"); + entity.Property(e => e.DimDateIdStartDate).HasColumnName("dim_date_id_start_date"); + entity.Property(e => e.DimGeoIdEventCountry).HasColumnName("dim_geo_id_event_country"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.EventLocationText) + .HasMaxLength(255) + .HasColumnName("event_location_text"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(400) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(400) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(400) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimDateIdEndDateNavigation).WithMany(p => p.DimEventDimDateIdEndDateNavigations) + .HasForeignKey(d => d.DimDateIdEndDate) + .HasConstraintName("end_date"); + + entity.HasOne(d => d.DimDateIdStartDateNavigation).WithMany(p => p.DimEventDimDateIdStartDateNavigations) + .HasForeignKey(d => d.DimDateIdStartDate) + .HasConstraintName("start_date"); + + entity.HasOne(d => d.DimGeoIdEventCountryNavigation).WithMany(p => p.DimEvents) + .HasForeignKey(d => d.DimGeoIdEventCountry) + .HasConstraintName("event_location"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimEvents) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_event492051"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_exte__3213E83F7DCC4300"); + + entity.ToTable("dim_external_service"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Description) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("description"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.Name) + .HasMaxLength(255) + .HasColumnName("name"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimExternalServices) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_extern413099"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_fiel__3213E83F0DCC2E36"); + + entity.ToTable("dim_field_display_settings"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); + entity.Property(e => e.FieldIdentifier).HasColumnName("field_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.Show).HasColumnName("show"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimUserProfile).WithMany(p => p.DimFieldDisplaySettings) + .HasForeignKey(d => d.DimUserProfileId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_field_653425"); + + entity.HasMany(d => d.DimRegisteredDataSources).WithMany(p => p.DimFieldDisplaySettings) + .UsingEntity>( + "BrFieldDisplaySettingsDimRegisteredDataSource", + r => r.HasOne().WithMany() + .HasForeignKey("DimRegisteredDataSourceId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_field_d115264"), + l => l.HasOne().WithMany() + .HasForeignKey("DimFieldDisplaySettingsId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_field_d783303"), + j => + { + j.HasKey("DimFieldDisplaySettingsId", "DimRegisteredDataSourceId").HasName("PK__br_field__6148A77209C05080"); + j.ToTable("br_field_display_settings_dim_registered_data_source"); + j.IndexerProperty("DimFieldDisplaySettingsId").HasColumnName("dim_field_display_settings_id"); + j.IndexerProperty("DimRegisteredDataSourceId").HasColumnName("dim_registered_data_source_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_fund__3213E83F74B633DB"); + + entity.ToTable("dim_funding_decision"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Acronym) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("acronym"); + entity.Property(e => e.AmountInEur) + .HasColumnType("decimal(18, 2)") + .HasColumnName("amount_in_EUR"); + entity.Property(e => e.AmountInFundingDecisionCurrency) + .HasColumnType("decimal(18, 2)") + .HasColumnName("amount_in_funding_decision_currency"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimCallDecisionsId) + .HasComment("Rahoituspäätös - Päätöspaneeli") + .HasColumnName("dim_call_decisions_id"); + entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); + entity.Property(e => e.DimDateIdApproval).HasColumnName("dim_date_id_approval"); + entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); + entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); + entity.Property(e => e.DimFundingDecisionIdParentDecision).HasColumnName("dim_funding_decision_id_parent_decision"); + entity.Property(e => e.DimGeoId).HasColumnName("dim_geo_id"); + entity.Property(e => e.DimNameIdContactPerson).HasColumnName("dim_name_id_contact_person"); + entity.Property(e => e.DimOrganizationIdFunder).HasColumnName("dim_organization_id_funder"); + entity.Property(e => e.DimPidPidContent) + .HasMaxLength(255) + .HasColumnName("dim_pid_pid_content"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimTypeOfFundingId).HasColumnName("dim_type_of_funding_id"); + entity.Property(e => e.FunderProjectNumber) + .HasMaxLength(255) + .HasComment("Päätöksen paikallinen tunniste (tiedon toimittajan)") + .HasColumnName("funder_project_number"); + entity.Property(e => e.FundingDecisionCurrencyAbbreviation) + .HasMaxLength(255) + .HasColumnName("funding_decision_currency_abbreviation"); + entity.Property(e => e.HasBusinessCollaboration).HasColumnName("has_business_collaboration"); + entity.Property(e => e.HasInternationalCollaboration).HasColumnName("has_international_collaboration"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn).HasColumnName("name_en"); + entity.Property(e => e.NameFi).HasColumnName("name_fi"); + entity.Property(e => e.NameSv).HasColumnName("name_sv"); + entity.Property(e => e.NameUnd).HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimCallDecisions).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimCallDecisionsId) + .HasConstraintName("FKdim_fundin257658"); + + entity.HasOne(d => d.DimCallProgramme).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimCallProgrammeId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("programme"); + + entity.HasOne(d => d.DimDateIdApprovalNavigation).WithMany(p => p.DimFundingDecisionDimDateIdApprovalNavigations) + .HasForeignKey(d => d.DimDateIdApproval) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("project start"); + + entity.HasOne(d => d.DimDateIdEndNavigation).WithMany(p => p.DimFundingDecisionDimDateIdEndNavigations) + .HasForeignKey(d => d.DimDateIdEnd) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("approval"); + + entity.HasOne(d => d.DimDateIdStartNavigation).WithMany(p => p.DimFundingDecisionDimDateIdStartNavigations) + .HasForeignKey(d => d.DimDateIdStart) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("project end"); + + entity.HasOne(d => d.DimFundingDecisionIdParentDecisionNavigation).WithMany(p => p.InverseDimFundingDecisionIdParentDecisionNavigation) + .HasForeignKey(d => d.DimFundingDecisionIdParentDecision) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Parent decision"); + + entity.HasOne(d => d.DimGeo).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimGeoId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Where work is to be carried out"); + + entity.HasOne(d => d.DimNameIdContactPersonNavigation).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimNameIdContactPerson) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("contact_person"); + + entity.HasOne(d => d.DimOrganizationIdFunderNavigation).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimOrganizationIdFunder) + .HasConstraintName("funder"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_fundin282559"); + + entity.HasOne(d => d.DimTypeOfFunding).WithMany(p => p.DimFundingDecisions) + .HasForeignKey(d => d.DimTypeOfFundingId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_fundin974924"); + + entity.HasMany(d => d.DimFundingDecisionFroms).WithMany(p => p.DimFundingDecisionTos) + .UsingEntity>( + "BrRelatedFundingDecision", + r => r.HasOne().WithMany() + .HasForeignKey("DimFundingDecisionFromId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_related232364"), + l => l.HasOne().WithMany() + .HasForeignKey("DimFundingDecisionToId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_related689923"), + j => + { + j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__9096649168B0738D"); + j.ToTable("br_related_funding_decision"); + j.IndexerProperty("DimFundingDecisionFromId").HasColumnName("dim_funding_decision_from_id"); + j.IndexerProperty("DimFundingDecisionToId").HasColumnName("dim_funding_decision_to_id"); + }); + + entity.HasMany(d => d.DimFundingDecisionTos).WithMany(p => p.DimFundingDecisionFroms) + .UsingEntity>( + "BrRelatedFundingDecision", + r => r.HasOne().WithMany() + .HasForeignKey("DimFundingDecisionToId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_related689923"), + l => l.HasOne().WithMany() + .HasForeignKey("DimFundingDecisionFromId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_related232364"), + j => + { + j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__9096649168B0738D"); + j.ToTable("br_related_funding_decision"); + j.IndexerProperty("DimFundingDecisionFromId").HasColumnName("dim_funding_decision_from_id"); + j.IndexerProperty("DimFundingDecisionToId").HasColumnName("dim_funding_decision_to_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_geo__3213E83F6775F5F9"); + + entity.ToTable("dim_geo"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.CountryCode) + .HasMaxLength(255) + .HasColumnName("country_code"); + entity.Property(e => e.CountryEn) + .HasMaxLength(255) + .HasColumnName("country_en"); + entity.Property(e => e.CountryFi) + .HasMaxLength(255) + .HasColumnName("country_fi"); + entity.Property(e => e.CountryId) + .HasMaxLength(255) + .HasColumnName("country_id"); + entity.Property(e => e.CountrySv) + .HasMaxLength(255) + .HasColumnName("country_sv"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.MunicipalityFi) + .HasMaxLength(255) + .HasColumnName("municipality_fi"); + entity.Property(e => e.MunicipalityId) + .HasMaxLength(255) + .HasColumnName("municipality_id"); + entity.Property(e => e.MunicipalitySv) + .HasMaxLength(255) + .HasColumnName("municipality_sv"); + entity.Property(e => e.RegionFi) + .HasMaxLength(255) + .HasColumnName("region_fi"); + entity.Property(e => e.RegionId) + .HasMaxLength(255) + .HasColumnName("region_id"); + entity.Property(e => e.RegionSv) + .HasMaxLength(255) + .HasColumnName("region_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_iden__3213E83F611AE8F4"); + + entity.ToTable("dim_identifierless_data"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimIdentifierlessDataId).HasColumnName("dim_identifierless_data_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(4000) + .HasColumnName("source_id"); + entity.Property(e => e.Type) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("type"); + entity.Property(e => e.UnlinkedIdentifier) + .HasMaxLength(4000) + .HasColumnName("unlinked_identifier"); + entity.Property(e => e.ValueEn) + .HasMaxLength(4000) + .HasColumnName("value_en"); + entity.Property(e => e.ValueFi) + .HasMaxLength(4000) + .HasColumnName("value_fi"); + entity.Property(e => e.ValueSv) + .HasMaxLength(4000) + .HasColumnName("value_sv"); + + entity.HasOne(d => d.DimIdentifierlessData).WithMany(p => p.InverseDimIdentifierlessData) + .HasForeignKey(d => d.DimIdentifierlessDataId) + .HasConstraintName("parent_data"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_infr__3213E83F134FF0CC"); + + entity.ToTable("dim_infrastructure"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Acronym) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("acronym"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("description_sv"); + entity.Property(e => e.EndYear).HasColumnName("end_year"); + entity.Property(e => e.FinlandRoadmap).HasColumnName("finland_roadmap"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("name_sv"); + entity.Property(e => e.NextInfastructureId).HasColumnName("next_infastructure_id"); + entity.Property(e => e.ScientificDescriptionEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("scientific_description_en"); + entity.Property(e => e.ScientificDescriptionFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("scientific_description_fi"); + entity.Property(e => e.ScientificDescriptionSv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("scientific_description_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.StartYear).HasColumnName("start_year"); + entity.Property(e => e.Urn) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("urn"); + + entity.HasOne(d => d.NextInfastructure).WithMany(p => p.InverseNextInfastructure) + .HasForeignKey(d => d.NextInfastructureId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_infras462742"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_keyw__3213E83F828D6675"); + + entity.ToTable("dim_keyword"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.ConceptUri) + .HasMaxLength(255) + .HasColumnName("concept_uri"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKeywordCloseMatch).HasColumnName("dim_keyword_close_match"); + entity.Property(e => e.DimKeywordLanguageVariant).HasColumnName("dim_keyword_language_variant"); + entity.Property(e => e.DimKeywordRelated).HasColumnName("dim_keyword_related"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Keyword) + .HasMaxLength(255) + .HasColumnName("keyword"); + entity.Property(e => e.Language) + .HasMaxLength(255) + .HasColumnName("language"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.Scheme) + .HasMaxLength(255) + .HasColumnName("scheme"); + entity.Property(e => e.SchemeUri) + .HasMaxLength(255) + .HasColumnName("scheme_uri"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimKeywordCloseMatchNavigation).WithMany(p => p.InverseDimKeywordCloseMatchNavigation) + .HasForeignKey(d => d.DimKeywordCloseMatch) + .HasConstraintName("related"); + + entity.HasOne(d => d.DimKeywordLanguageVariantNavigation).WithMany(p => p.InverseDimKeywordLanguageVariantNavigation) + .HasForeignKey(d => d.DimKeywordLanguageVariant) + .HasConstraintName("language_variant"); + + entity.HasOne(d => d.DimKeywordRelatedNavigation).WithMany(p => p.InverseDimKeywordRelatedNavigation) + .HasForeignKey(d => d.DimKeywordRelated) + .HasConstraintName("close_match"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimKeywords) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_keywor723976"); + + entity.HasMany(d => d.DimFundingDecisions).WithMany(p => p.DimKeywords) + .UsingEntity>( + "BrKeywordDimFundingDecision", + r => r.HasOne().WithMany() + .HasForeignKey("DimFundingDecisionId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_keyword955130"), + l => l.HasOne().WithMany() + .HasForeignKey("DimKeywordId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_keyword224605"), + j => + { + j.HasKey("DimKeywordId", "DimFundingDecisionId").HasName("PK__br_keywo__8C7B929B7BA30AB2"); + j.ToTable("br_keyword_dim_funding_decision"); + j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id"); + j.IndexerProperty("DimFundingDecisionId").HasColumnName("dim_funding_decision_id"); + }); + + entity.HasMany(d => d.DimPublications).WithMany(p => p.DimKeywords) + .UsingEntity>( + "BrKeywordDimPublication", + r => r.HasOne().WithMany() + .HasForeignKey("DimPublicationId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_keyword634640"), + l => l.HasOne().WithMany() + .HasForeignKey("DimKeywordId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_keyword944303"), + j => + { + j.HasKey("DimKeywordId", "DimPublicationId").HasName("PK__br_keywo__C6E31F1A27736A4E"); + j.ToTable("br_keyword_dim_publication"); + j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id"); + j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_know__3213E83FACA422D2"); + + entity.ToTable("dim_known_person"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.SourceProjectId) + .HasMaxLength(100) + .HasColumnName("source_project_id"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimKnownPeople) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .HasConstraintName("FKdim_knownperson_regdatasource"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_loca__3213E83F36A297BC"); + + entity.ToTable("dim_locally_reported_pub_info"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimPublicationid).HasColumnName("dim_publicationid"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SelfArchivedEmbargoDate) + .HasColumnType("datetime") + .HasColumnName("self_archived_embargo_date"); + entity.Property(e => e.SelfArchivedLicenseCode).HasColumnName("self_archived_license_code"); + entity.Property(e => e.SelfArchivedType) + .HasMaxLength(50) + .HasColumnName("self_archived_type"); + entity.Property(e => e.SelfArchivedUrl) + .HasMaxLength(400) + .HasColumnName("self_archived_url"); + entity.Property(e => e.SelfArchivedVersionCode).HasColumnName("self_archived_version_code"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimPublication).WithMany(p => p.DimLocallyReportedPubInfos) + .HasForeignKey(d => d.DimPublicationid) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_locall183416"); + + entity.HasOne(d => d.SelfArchivedLicenseCodeNavigation).WithMany(p => p.DimLocallyReportedPubInfoSelfArchivedLicenseCodeNavigations) + .HasForeignKey(d => d.SelfArchivedLicenseCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("licence_code"); + + entity.HasOne(d => d.SelfArchivedVersionCodeNavigation).WithMany(p => p.DimLocallyReportedPubInfoSelfArchivedVersionCodeNavigations) + .HasForeignKey(d => d.SelfArchivedVersionCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("version_code"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_meri__3213E83F27B0527F"); + + entity.ToTable("dim_meril"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasMany(d => d.DimInfrastructures).WithMany(p => p.DimMerils) + .UsingEntity>( + "BrMerilDimInfrastructure", + r => r.HasOne().WithMany() + .HasForeignKey("DimInfrastructureId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_meril_d901766"), + l => l.HasOne().WithMany() + .HasForeignKey("DimMerilId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_meril_d209645"), + j => + { + j.HasKey("DimMerilId", "DimInfrastructureId").HasName("PK__br_meril__A30C54DAA59A6FDB"); + j.ToTable("br_meril_dim_infrastructure"); + j.IndexerProperty("DimMerilId").HasColumnName("dim_meril_id"); + j.IndexerProperty("DimInfrastructureId").HasColumnName("dim_infrastructure_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_mine__3213E83F72A260B7"); + + entity.ToTable("dim_mined_words"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Word) + .HasMaxLength(255) + .HasColumnName("word"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_name__3213E83F2CEE89CA"); + + entity.ToTable("dim_name"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKnownPersonIdConfirmedIdentity).HasColumnName("dim_known_person_id_confirmed_identity"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.FirstNames) + .HasMaxLength(255) + .HasColumnName("first_names"); + entity.Property(e => e.FullName) + .HasMaxLength(255) + .HasColumnName("full_name"); + entity.Property(e => e.LastName) + .HasMaxLength(255) + .HasColumnName("last_name"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.SourceProjectId) + .HasMaxLength(100) + .HasColumnName("source_project_id"); + + entity.HasOne(d => d.DimKnownPersonIdConfirmedIdentityNavigation).WithMany(p => p.DimNames) + .HasForeignKey(d => d.DimKnownPersonIdConfirmedIdentity) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("confirmed identity"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimNames) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_name798039"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_news__3213E83F201EFEBA"); + + entity.ToTable("dim_news_feed"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.FeedUrl) + .HasMaxLength(4000) + .HasColumnName("feed_url"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Title) + .HasMaxLength(511) + .HasColumnName("title"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.Id, e.DimNewsFeedid }).HasName("PK__dim_news__B87E67031ABA5222"); + + entity.ToTable("dim_news_item"); + + entity.Property(e => e.Id) + .ValueGeneratedOnAdd() + .HasColumnName("id"); + entity.Property(e => e.DimNewsFeedid).HasColumnName("dim_news_feedid"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NewsContent).HasColumnName("news_content"); + entity.Property(e => e.NewsHeadline).HasColumnName("news_headline"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Timestamp) + .HasColumnType("smalldatetime") + .HasColumnName("timestamp"); + entity.Property(e => e.Url) + .HasMaxLength(4000) + .HasColumnName("url"); + + entity.HasOne(d => d.DimNewsFeed).WithMany(p => p.DimNewsItems) + .HasForeignKey(d => d.DimNewsFeedid) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_news_i691810"); + }); + + modelBuilder.Entity(entity => + { + entity + .HasNoKey() + .ToTable("dim_organisation_media"); + + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.LanguageVariant) + .HasMaxLength(255) + .HasColumnName("language_variant"); + entity.Property(e => e.MediaUri) + .HasMaxLength(511) + .HasColumnName("media_uri"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimOrganization).WithMany() + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_organi623202"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_orga__3213E83F8096E721"); + + entity.ToTable("dim_organization"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.CountryCode) + .HasMaxLength(2) + .HasColumnName("country_code"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DegreeCountBsc).HasColumnName("degree_count_bsc"); + entity.Property(e => e.DegreeCountLic).HasColumnName("degree_count_lic"); + entity.Property(e => e.DegreeCountMsc).HasColumnName("degree_count_msc"); + entity.Property(e => e.DegreeCountPhd).HasColumnName("degree_count_phd"); + entity.Property(e => e.DimOrganizationBroader).HasColumnName("dim_organization_broader"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimSectorid).HasColumnName("dim_sectorid"); + entity.Property(e => e.Established) + .HasColumnType("datetime") + .HasColumnName("established"); + entity.Property(e => e.LocalOrganizationSector) + .HasMaxLength(255) + .HasColumnName("local_organization_sector"); + entity.Property(e => e.LocalOrganizationUnitId) + .HasMaxLength(255) + .HasColumnName("local_organization_unit_Id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.NameVariants) + .HasMaxLength(1023) + .HasColumnName("name_variants"); + entity.Property(e => e.OrganizationActive).HasColumnName("organization_active"); + entity.Property(e => e.OrganizationBackground) + .HasMaxLength(4000) + .HasColumnName("organization_background"); + entity.Property(e => e.OrganizationId) + .HasMaxLength(255) + .HasColumnName("organization_id"); + entity.Property(e => e.OrganizationType) + .HasMaxLength(255) + .HasColumnName("organization_type"); + entity.Property(e => e.PostalAddress) + .HasMaxLength(511) + .HasColumnName("postal_address"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.StaffCountAsFte).HasColumnName("staff_count_as_fte"); + entity.Property(e => e.VisitingAddress) + .HasMaxLength(4000) + .HasColumnName("visiting_address"); + + entity.HasOne(d => d.DimOrganizationBroaderNavigation).WithMany(p => p.InverseDimOrganizationBroaderNavigation) + .HasForeignKey(d => d.DimOrganizationBroader) + .HasConstraintName("is_part_of"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimOrganizations) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_organi972074"); + + entity.HasOne(d => d.DimSector).WithMany(p => p.DimOrganizations) + .HasForeignKey(d => d.DimSectorid) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_organi330513"); + + entity.HasMany(d => d.DimCallProgrammes).WithMany(p => p.DimOrganizations) + .UsingEntity>( + "BrOrganizationsFundCallProgramme", + r => r.HasOne().WithMany() + .HasForeignKey("DimCallProgrammeid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_organiz165034"), + l => l.HasOne().WithMany() + .HasForeignKey("DimOrganizationid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_organiz621686"), + j => + { + j.HasKey("DimOrganizationid", "DimCallProgrammeid").HasName("PK__br_organ__10F219BC67F57D2D"); + j.ToTable("br_organizations_fund_call_programmes"); + j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); + j.IndexerProperty("DimCallProgrammeid").HasColumnName("dim_call_programmeid"); + }); + + entity.HasMany(d => d.DimOrganizationid2s).WithMany(p => p.DimOrganizations) + .UsingEntity>( + "BrPredecessorOrganization", + r => r.HasOne().WithMany() + .HasForeignKey("DimOrganizationid2") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_predece505451"), + l => l.HasOne().WithMany() + .HasForeignKey("DimOrganizationid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_predece849307"), + j => + { + j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F4AF4252D6"); + j.ToTable("br_predecessor_organization"); + j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); + j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); + }); + + entity.HasMany(d => d.DimOrganizationid2sNavigation).WithMany(p => p.DimOrganizationsNavigation) + .UsingEntity>( + "BrSuccessorOrganization", + r => r.HasOne().WithMany() + .HasForeignKey("DimOrganizationid2") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_success902531"), + l => l.HasOne().WithMany() + .HasForeignKey("DimOrganizationid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_success452227"), + j => + { + j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F443C2898E"); + j.ToTable("br_successor organization"); + j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); + j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); + }); + + entity.HasMany(d => d.DimOrganizations).WithMany(p => p.DimOrganizationid2s) + .UsingEntity>( + "BrPredecessorOrganization", + r => r.HasOne().WithMany() + .HasForeignKey("DimOrganizationid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_predece849307"), + l => l.HasOne().WithMany() + .HasForeignKey("DimOrganizationid2") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_predece505451"), + j => + { + j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F4AF4252D6"); + j.ToTable("br_predecessor_organization"); + j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); + j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); + }); + + entity.HasMany(d => d.DimOrganizationsNavigation).WithMany(p => p.DimOrganizationid2sNavigation) + .UsingEntity>( + "BrSuccessorOrganization", + r => r.HasOne().WithMany() + .HasForeignKey("DimOrganizationid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_success452227"), + l => l.HasOne().WithMany() + .HasForeignKey("DimOrganizationid2") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_success902531"), + j => + { + j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F443C2898E"); + j.ToTable("br_successor organization"); + j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); + j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_pid__3213E83F4FFE0E46"); + + entity.ToTable("dim_pid"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); + entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimProfileOnlyDatasetId).HasColumnName("dim_profile_only_dataset_id"); + entity.Property(e => e.DimProfileOnlyFundingDecisionId).HasColumnName("dim_profile_only_funding_decision_id"); + entity.Property(e => e.DimProfileOnlyPublicationId).HasColumnName("dim_profile_only_publication_id"); + entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id"); + entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); + entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); + entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); + entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); + entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); + entity.Property(e => e.DimResearchProjectId).HasColumnName("dim_research_project_id"); + entity.Property(e => e.DimServiceId).HasColumnName("dim_service_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.PidContent) + .HasMaxLength(255) + .HasColumnName("pid_content"); + entity.Property(e => e.PidType) + .HasMaxLength(255) + .HasColumnName("pid_type"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimEvent).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimEventId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("event_identifier"); + + entity.HasOne(d => d.DimInfrastructure).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimInfrastructureId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("URN/infrastructure"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Orcid/ISNI"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("ISNI/GRID/ROR/Business-ID\\PIC"); + + entity.HasOne(d => d.DimProfileOnlyDataset).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimProfileOnlyDatasetId) + .HasConstraintName("FKdim_pid852504"); + + entity.HasOne(d => d.DimProfileOnlyFundingDecision).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimProfileOnlyFundingDecisionId) + .HasConstraintName("FKdim_pid746176"); + + entity.HasOne(d => d.DimProfileOnlyPublication).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimProfileOnlyPublicationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("ll"); + + entity.HasOne(d => d.DimPublicationChannel).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimPublicationChannelId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("mostly ISSN"); + + entity.HasOne(d => d.DimPublication).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimPublicationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("DOI/ISBN1-2"); + + entity.HasOne(d => d.DimResearchActivity).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimResearchActivityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_pid725718"); + + entity.HasOne(d => d.DimResearchCommunity).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimResearchCommunityId) + .HasConstraintName("FKdim_pid146045"); + + entity.HasOne(d => d.DimResearchDataCatalog).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimResearchDataCatalogId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_pid400266"); + + entity.HasOne(d => d.DimResearchDataset).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimResearchDatasetId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("URN/DOI"); + + entity.HasOne(d => d.DimService).WithMany(p => p.DimPids) + .HasForeignKey(d => d.DimServiceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("URN/service"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83F9FC42F3B"); + + entity.ToTable("dim_profile_only_dataset"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DatasetCreated) + .HasColumnType("datetime") + .HasColumnName("dataset_created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DescriptionUnd).HasColumnName("description_und"); + entity.Property(e => e.DimReferencedataIdAvailability).HasColumnName("dim_referencedata_id_availability"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(4000) + .HasColumnName("name_und"); + entity.Property(e => e.OrcidWorkType) + .HasMaxLength(255) + .HasColumnName("orcid_work_type"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.VersionInfo) + .HasMaxLength(255) + .HasColumnName("version_info"); + + entity.HasOne(d => d.DimReferencedataIdAvailabilityNavigation).WithMany(p => p.DimProfileOnlyDatasets) + .HasForeignKey(d => d.DimReferencedataIdAvailability) + .HasConstraintName("availability codes"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimProfileOnlyDatasets) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil660906"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83FABC80557"); + + entity.ToTable("dim_profile_only_funding_decision"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Acronym) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("acronym"); + entity.Property(e => e.AmountInEur) + .HasColumnType("decimal(18, 2)") + .HasColumnName("amount_in_EUR"); + entity.Property(e => e.AmountInFundingDecisionCurrency) + .HasColumnType("decimal(18, 2)") + .HasColumnName("amount_in_funding_decision_currency"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); + entity.Property(e => e.DimDateIdApproval).HasColumnName("dim_date_id_approval"); + entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); + entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); + entity.Property(e => e.DimOrganizationIdFunder).HasColumnName("dim_organization_id_funder"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimTypeOfFundingId).HasColumnName("dim_type_of_funding_id"); + entity.Property(e => e.FunderProjectNumber) + .HasMaxLength(255) + .HasColumnName("funder_project_number"); + entity.Property(e => e.FundingDecisionCurrencyAbbreviation) + .HasMaxLength(255) + .HasColumnName("funding_decision_currency_abbreviation"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.OrcidWorkType) + .HasMaxLength(255) + .HasColumnName("orcid_work_type"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimCallProgramme).WithMany(p => p.DimProfileOnlyFundingDecisions) + .HasForeignKey(d => d.DimCallProgrammeId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil901315"); + + entity.HasOne(d => d.DimDateIdApprovalNavigation).WithMany(p => p.DimProfileOnlyFundingDecisionDimDateIdApprovalNavigations) + .HasForeignKey(d => d.DimDateIdApproval) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil305481"); + + entity.HasOne(d => d.DimDateIdEndNavigation).WithMany(p => p.DimProfileOnlyFundingDecisionDimDateIdEndNavigations) + .HasForeignKey(d => d.DimDateIdEnd) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil258491"); + + entity.HasOne(d => d.DimDateIdStartNavigation).WithMany(p => p.DimProfileOnlyFundingDecisionDimDateIdStartNavigations) + .HasForeignKey(d => d.DimDateIdStart) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil96828"); + + entity.HasOne(d => d.DimOrganizationIdFunderNavigation).WithMany(p => p.DimProfileOnlyFundingDecisions) + .HasForeignKey(d => d.DimOrganizationIdFunder) + .HasConstraintName("FKdim_profil261429"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimProfileOnlyFundingDecisions) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil430683"); + + entity.HasOne(d => d.DimTypeOfFunding).WithMany(p => p.DimProfileOnlyFundingDecisions) + .HasForeignKey(d => d.DimTypeOfFundingId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil826800"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83F2AED11BF"); + + entity.ToTable("dim_profile_only_publication"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.ArticleNumberText) + .HasMaxLength(255) + .HasColumnName("article_number_text"); + entity.Property(e => e.ArticleTypeCode) + .HasComment("code_scheme = 'Artikkelintyyppikoodi'") + .HasColumnName("article_type_code"); + entity.Property(e => e.AuthorsText).HasColumnName("authors_text"); + entity.Property(e => e.ConferenceName) + .HasMaxLength(4000) + .HasColumnName("conference_name"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimProfileOnlyPublicationId).HasColumnName("dim_profile_only_publication_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DoiHandle) + .HasMaxLength(4000) + .HasColumnName("doi_handle"); + entity.Property(e => e.IssueNumber) + .HasMaxLength(255) + .HasColumnName("issue_number"); + entity.Property(e => e.LanguageCode).HasColumnName("language_code"); + entity.Property(e => e.LicenseCode).HasColumnName("license_code"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NumberOfAuthors).HasColumnName("number_of_authors"); + entity.Property(e => e.OpenAccessCode) + .HasMaxLength(255) + .HasColumnName("open_access_code"); + entity.Property(e => e.OrcidWorkType) + .HasMaxLength(255) + .HasColumnName("orcid_work_type"); + entity.Property(e => e.OriginalPublicationId) + .HasMaxLength(255) + .HasColumnName("original_publication_id"); + entity.Property(e => e.PageNumberText) + .HasMaxLength(255) + .HasColumnName("page_number_text"); + entity.Property(e => e.ParentPublicationEditors) + .HasMaxLength(4000) + .HasColumnName("parent_publication_editors"); + entity.Property(e => e.ParentPublicationName) + .HasMaxLength(4000) + .HasColumnName("parent_publication_name"); + entity.Property(e => e.ParentTypeClassificationCode).HasColumnName("parent_type_classification_code"); + entity.Property(e => e.PeerReviewed).HasColumnName("peer_reviewed"); + entity.Property(e => e.PublicationCountryCode).HasColumnName("publication_country_code"); + entity.Property(e => e.PublicationFormatCode) + .HasComment("code_scheme = 'julkaisumuoto'") + .HasColumnName("publication_format_code"); + entity.Property(e => e.PublicationId) + .HasMaxLength(255) + .HasColumnName("publication_id"); + entity.Property(e => e.PublicationName) + .HasMaxLength(4000) + .HasColumnName("publication_name"); + entity.Property(e => e.PublicationYear).HasColumnName("publication_year"); + entity.Property(e => e.PublisherLocation) + .HasMaxLength(255) + .HasColumnName("publisher_location"); + entity.Property(e => e.PublisherName) + .HasMaxLength(4000) + .HasColumnName("publisher_name"); + entity.Property(e => e.Report).HasColumnName("report"); + entity.Property(e => e.ShortDescription).HasColumnName("short_description"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.TargetAudienceCode) + .HasComment("code_scheme = 'julkaisunyleiso'") + .HasColumnName("target_audience_code"); + entity.Property(e => e.ThesisTypeCode).HasColumnName("thesis_type_code"); + entity.Property(e => e.TypeClassificationCode) + .HasComment("code_schema = 'julkaisutyyppiluokitus'") + .HasColumnName("type_classification_code"); + entity.Property(e => e.Volume) + .HasMaxLength(255) + .HasColumnName("volume"); + + entity.HasOne(d => d.ArticleTypeCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationArticleTypeCodeNavigations) + .HasForeignKey(d => d.ArticleTypeCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Or_article_type_code"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimProfileOnlyPublications) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_orcid_438595"); + + entity.HasOne(d => d.DimProfileOnlyPublicationNavigation).WithMany(p => p.InverseDimProfileOnlyPublicationNavigation) + .HasForeignKey(d => d.DimProfileOnlyPublicationId) + .HasConstraintName("parent orcid publication"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimProfileOnlyPublications) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_orcid_729203"); + + entity.HasOne(d => d.LanguageCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationLanguageCodeNavigations) + .HasForeignKey(d => d.LanguageCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("language_code_profile_only_publication"); + + entity.HasOne(d => d.LicenseCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationLicenseCodeNavigations) + .HasForeignKey(d => d.LicenseCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("license_code_profile_only_publication"); + + entity.HasOne(d => d.ParentTypeClassificationCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationParentTypeClassificationCodeNavigations) + .HasForeignKey(d => d.ParentTypeClassificationCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Or_parent_publication_type_code"); + + entity.HasOne(d => d.PublicationCountryCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationPublicationCountryCodeNavigations) + .HasForeignKey(d => d.PublicationCountryCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("publication_country_code_profile_only_publication"); + + entity.HasOne(d => d.PublicationFormatCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationPublicationFormatCodeNavigations) + .HasForeignKey(d => d.PublicationFormatCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Or_publication_type_code2"); + + entity.HasOne(d => d.TargetAudienceCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationTargetAudienceCodeNavigations) + .HasForeignKey(d => d.TargetAudienceCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Or_target_audience_code"); + + entity.HasOne(d => d.ThesisTypeCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationThesisTypeCodeNavigations) + .HasForeignKey(d => d.ThesisTypeCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("thesis_type_code_profile_only_publication"); + + entity.HasOne(d => d.TypeClassificationCodeNavigation).WithMany(p => p.DimProfileOnlyPublicationTypeClassificationCodeNavigations) + .HasForeignKey(d => d.TypeClassificationCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("type_classification"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_prof__3213E83FB0D3A831"); + + entity.ToTable("dim_profile_only_research_activity"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); + entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); + entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); + entity.Property(e => e.DimGeoIdCountry).HasColumnName("dim_geo_id_country"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.IndentifierlessTargetOrg) + .HasMaxLength(511) + .HasColumnName("indentifierless_target_org"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.OrcidWorkType) + .HasMaxLength(255) + .HasColumnName("orcid_work_type"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimDateIdEndNavigation).WithMany(p => p.DimProfileOnlyResearchActivityDimDateIdEndNavigations) + .HasForeignKey(d => d.DimDateIdEnd) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil457771"); + + entity.HasOne(d => d.DimDateIdStartNavigation).WithMany(p => p.DimProfileOnlyResearchActivityDimDateIdStartNavigations) + .HasForeignKey(d => d.DimDateIdStart) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil158500"); + + entity.HasOne(d => d.DimEvent).WithMany(p => p.DimProfileOnlyResearchActivities) + .HasForeignKey(d => d.DimEventId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil693884"); + + entity.HasOne(d => d.DimGeoIdCountryNavigation).WithMany(p => p.DimProfileOnlyResearchActivities) + .HasForeignKey(d => d.DimGeoIdCountry) + .HasConstraintName("FKdim_profil903211"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimProfileOnlyResearchActivities) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil273177"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimProfileOnlyResearchActivities) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_profil285579"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_publ__3213E83F2B61CDC4"); + + entity.ToTable("dim_publication"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Abstract).HasColumnName("abstract"); + entity.Property(e => e.ApcFeeEur) + .HasColumnType("decimal(18, 2)") + .HasColumnName("apc_fee_EUR"); + entity.Property(e => e.ApcPaymentYear).HasColumnName("apc_payment_year"); + entity.Property(e => e.ArticleNumberText) + .HasMaxLength(255) + .HasColumnName("article_number_text"); + entity.Property(e => e.ArticleTypeCode).HasColumnName("article_type_code"); + entity.Property(e => e.AuthorsText).HasColumnName("authors_text"); + entity.Property(e => e.BusinessCollaboration).HasColumnName("business_collaboration"); + entity.Property(e => e.ConferenceName) + .HasMaxLength(4000) + .HasColumnName("conference_name"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Doi) + .HasMaxLength(4000) + .HasColumnName("doi"); + entity.Property(e => e.DoiHandle) + .HasMaxLength(4000) + .HasColumnName("doi_handle"); + entity.Property(e => e.GovermentCollaboration).HasColumnName("goverment_collaboration"); + entity.Property(e => e.HospitalDistrictCollaboration).HasColumnName("hospital_district_collaboration"); + entity.Property(e => e.InternationalCollaboration).HasColumnName("international_collaboration"); + entity.Property(e => e.InternationalPublication).HasColumnName("international_publication"); + entity.Property(e => e.Isbn) + .HasMaxLength(255) + .HasColumnName("isbn"); + entity.Property(e => e.Isbn2) + .HasMaxLength(255) + .HasColumnName("isbn2"); + entity.Property(e => e.Issn) + .HasMaxLength(255) + .HasColumnName("issn"); + entity.Property(e => e.Issn2) + .HasMaxLength(255) + .HasColumnName("issn2"); + entity.Property(e => e.IssueNumber) + .HasMaxLength(255) + .HasColumnName("issue_number"); + entity.Property(e => e.JournalName) + .HasMaxLength(4000) + .HasColumnName("journal_name"); + entity.Property(e => e.JufoClass).HasColumnName("jufo_class"); + entity.Property(e => e.JuuliAddress) + .HasMaxLength(4000) + .HasColumnName("juuli_address"); + entity.Property(e => e.LanguageCode).HasColumnName("language_code"); + entity.Property(e => e.LicenseCode).HasColumnName("license_code"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NumberOfAuthors).HasColumnName("number_of_authors"); + entity.Property(e => e.OpenAccess) + .HasMaxLength(255) + .HasColumnName("open_access"); + entity.Property(e => e.OriginalPublicationId) + .HasMaxLength(255) + .HasColumnName("original_publication_id"); + entity.Property(e => e.OtherCollaboration).HasColumnName("other_collaboration"); + entity.Property(e => e.PageNumberText) + .HasMaxLength(255) + .HasColumnName("page_number_text"); + entity.Property(e => e.ParentPublicationName) + .HasMaxLength(4000) + .HasColumnName("parent_publication_name"); + entity.Property(e => e.ParentPublicationPublisher) + .HasMaxLength(4000) + .HasColumnName("parent_publication_publisher"); + entity.Property(e => e.ParentPublicationTypeCode).HasColumnName("parent_publication_type_code"); + entity.Property(e => e.PeerReviewed).HasColumnName("peer_reviewed"); + entity.Property(e => e.PublicationCountryCode).HasColumnName("publication_country_code"); + entity.Property(e => e.PublicationId) + .HasMaxLength(255) + .HasColumnName("publication_id"); + entity.Property(e => e.PublicationName) + .HasMaxLength(4000) + .HasColumnName("publication_name"); + entity.Property(e => e.PublicationOrgId) + .HasMaxLength(255) + .HasColumnName("publication_org_id"); + entity.Property(e => e.PublicationStatusCode).HasColumnName("publication_status_code"); + entity.Property(e => e.PublicationTypeCode).HasColumnName("publication_type_code"); + entity.Property(e => e.PublicationTypeCode2).HasColumnName("publication_type_code2"); + entity.Property(e => e.PublicationYear).HasColumnName("publication_year"); + entity.Property(e => e.PublisherLocation) + .HasMaxLength(255) + .HasColumnName("publisher_location"); + entity.Property(e => e.PublisherName) + .HasMaxLength(4000) + .HasColumnName("publisher_name"); + entity.Property(e => e.PublisherOpenAccessCode).HasColumnName("publisher_open_access_code"); + entity.Property(e => e.Report).HasColumnName("report"); + entity.Property(e => e.ReportingYear).HasColumnName("reporting_year"); + entity.Property(e => e.SelfArchivedCode).HasColumnName("self_archived_code"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.SpecialStateSubsidy).HasColumnName("special_state_subsidy"); + entity.Property(e => e.TargetAudienceCode).HasColumnName("target_audience_code"); + entity.Property(e => e.ThesisTypeCode).HasColumnName("thesis_type_code"); + entity.Property(e => e.Volume) + .HasMaxLength(255) + .HasColumnName("volume"); + + entity.HasOne(d => d.ArticleTypeCodeNavigation).WithMany(p => p.DimPublicationArticleTypeCodeNavigations) + .HasForeignKey(d => d.ArticleTypeCode) + .HasConstraintName("article_type_code"); + + entity.HasOne(d => d.DimPublicationChannel).WithMany(p => p.DimPublications) + .HasForeignKey(d => d.DimPublicationChannelId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("publication_channel"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimPublications) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_public896887"); + + entity.HasOne(d => d.JufoClassNavigation).WithMany(p => p.DimPublicationJufoClassNavigations) + .HasForeignKey(d => d.JufoClass) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("jufo_class"); + + entity.HasOne(d => d.LanguageCodeNavigation).WithMany(p => p.DimPublicationLanguageCodeNavigations) + .HasForeignKey(d => d.LanguageCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("language_code"); + + entity.HasOne(d => d.LicenseCodeNavigation).WithMany(p => p.DimPublicationLicenseCodeNavigations) + .HasForeignKey(d => d.LicenseCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("license_code"); + + entity.HasOne(d => d.ParentPublicationTypeCodeNavigation).WithMany(p => p.DimPublicationParentPublicationTypeCodeNavigations) + .HasForeignKey(d => d.ParentPublicationTypeCode) + .HasConstraintName("parent_publication_type_code"); + + entity.HasOne(d => d.PublicationCountryCodeNavigation).WithMany(p => p.DimPublicationPublicationCountryCodeNavigations) + .HasForeignKey(d => d.PublicationCountryCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("publication_country_code"); + + entity.HasOne(d => d.PublicationStatusCodeNavigation).WithMany(p => p.DimPublicationPublicationStatusCodeNavigations) + .HasForeignKey(d => d.PublicationStatusCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("publication_status_code"); + + entity.HasOne(d => d.PublicationTypeCodeNavigation).WithMany(p => p.DimPublicationPublicationTypeCodeNavigations) + .HasForeignKey(d => d.PublicationTypeCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("publication_type_code"); + + entity.HasOne(d => d.PublicationTypeCode2Navigation).WithMany(p => p.DimPublicationPublicationTypeCode2Navigations) + .HasForeignKey(d => d.PublicationTypeCode2) + .HasConstraintName("publication_type_code2"); + + entity.HasOne(d => d.PublisherOpenAccessCodeNavigation).WithMany(p => p.DimPublicationPublisherOpenAccessCodeNavigations) + .HasForeignKey(d => d.PublisherOpenAccessCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("publisher_open_access"); + + entity.HasOne(d => d.TargetAudienceCodeNavigation).WithMany(p => p.DimPublicationTargetAudienceCodeNavigations) + .HasForeignKey(d => d.TargetAudienceCode) + .HasConstraintName("target_audience_code"); + + entity.HasOne(d => d.ThesisTypeCodeNavigation).WithMany(p => p.DimPublicationThesisTypeCodeNavigations) + .HasForeignKey(d => d.ThesisTypeCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("thesis_type_code"); + + entity.HasMany(d => d.DimReferencedata).WithMany(p => p.DimPublications) + .UsingEntity>( + "BrArtpublicationTypecategory", + r => r.HasOne().WithMany() + .HasForeignKey("DimReferencedataid") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_artpubl101187"), + l => l.HasOne().WithMany() + .HasForeignKey("DimPublicationId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_artpubl464312"), + j => + { + j.HasKey("DimPublicationId", "DimReferencedataid").HasName("PK__br_artpu__879F18F3CD4C9940"); + j.ToTable("br_artpublication_typecategory"); + j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id"); + j.IndexerProperty("DimReferencedataid").HasColumnName("dim_referencedataid"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_publ__3213E83FE1772FAE"); + + entity.ToTable("dim_publication_channel"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.ChannelNameAnylang) + .HasMaxLength(4000) + .HasColumnName("channel_name_anylang"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.JufoCode) + .HasMaxLength(255) + .HasColumnName("jufo_code"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.PublisherNameText) + .HasMaxLength(4000) + .HasColumnName("publisher_name_text"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_purp__3213E83F3C117309"); + + entity.ToTable("dim_purpose"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimPurposes) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_purpos656541"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_refe__3213E83F28BB2F78"); + + entity.ToTable("dim_referencedata"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.CodeScheme) + .HasMaxLength(511) + .HasColumnName("code_scheme"); + entity.Property(e => e.CodeValue) + .HasMaxLength(511) + .HasColumnName("code_value"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimReferencedataId) + .HasDefaultValue(-1) + .HasColumnName("dim_referencedata_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.Order).HasColumnName("order"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.State) + .HasMaxLength(255) + .HasColumnName("state"); + + entity.HasOne(d => d.DimReferencedata).WithMany(p => p.InverseDimReferencedata) + .HasForeignKey(d => d.DimReferencedataId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FK_dim_referencedata_dim_referencedata"); + + entity.HasMany(d => d.DimPublicationsNavigation).WithMany(p => p.DimReferencedataNavigation) + .UsingEntity>( + "FactDimReferencedataFieldOfArt", + r => r.HasOne().WithMany() + .HasForeignKey("DimPublicationId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("field_of_art_code"), + l => l.HasOne().WithMany() + .HasForeignKey("DimReferencedataId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_dim_r130466"), + j => + { + j.HasKey("DimReferencedataId", "DimPublicationId").HasName("PK__fact_dim__62A1BBCB167FD089"); + j.ToTable("fact_dim_referencedata_field_of_art"); + j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id"); + j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_regi__3213E83F67476DF0"); + + entity.ToTable("dim_registered_data_source"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.Name) + .HasMaxLength(255) + .HasColumnName("name"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimRegisteredDataSources) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("data source of organisation"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F0CCD737E"); + + entity.ToTable("dim_research_activity"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimCountryCode).HasColumnName("dim_country_code"); + entity.Property(e => e.DimEndDate).HasColumnName("dim_end_date"); + entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimStartDate).HasColumnName("dim_start_date"); + entity.Property(e => e.IndentifierlessTargetOrg) + .HasMaxLength(511) + .HasColumnName("indentifierless_target_org"); + entity.Property(e => e.InternationalCollaboration).HasColumnName("international_collaboration"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(400) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(400) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(400) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimCountryCodeNavigation).WithMany(p => p.DimResearchActivities) + .HasForeignKey(d => d.DimCountryCode) + .HasConstraintName("FKdim_resear758241"); + + entity.HasOne(d => d.DimEndDateNavigation).WithMany(p => p.DimResearchActivityDimEndDateNavigations) + .HasForeignKey(d => d.DimEndDate) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear682769"); + + entity.HasOne(d => d.DimEvent).WithMany(p => p.DimResearchActivities) + .HasForeignKey(d => d.DimEventId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("Activity Context "); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimResearchActivities) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear921843"); + + entity.HasOne(d => d.DimPublicationChannel).WithMany(p => p.DimResearchActivities) + .HasForeignKey(d => d.DimPublicationChannelId) + .HasConstraintName("FKdim_resear832055"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimResearchActivities) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear37345"); + + entity.HasOne(d => d.DimStartDateNavigation).WithMany(p => p.DimResearchActivityDimStartDateNavigations) + .HasForeignKey(d => d.DimStartDate) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear797546"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimResearchActivityId, e.DimKeywordId }).HasName("PK__dim_rese__F7B536BC021F2D14"); - entity.HasMany(d => d.DimRegisteredDataSources) - .WithMany(p => p.DimFieldDisplaySettings) - .UsingEntity>( - "BrFieldDisplaySettingsDimRegisteredDataSource", - l => l.HasOne().WithMany().HasForeignKey("DimRegisteredDataSourceId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_field_d115264"), - r => r.HasOne().WithMany().HasForeignKey("DimFieldDisplaySettingsId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_field_d783303"), - j => - { - j.HasKey("DimFieldDisplaySettingsId", "DimRegisteredDataSourceId").HasName("PK__br_field__6148A77214B78981"); + entity.ToTable("dim_research_activity_dim_keyword"); - j.ToTable("br_field_display_settings_dim_registered_data_source"); + entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); + entity.Property(e => e.DimKeywordId).HasColumnName("dim_keyword_id"); - j.IndexerProperty("DimFieldDisplaySettingsId").HasColumnName("dim_field_display_settings_id"); + entity.HasOne(d => d.DimResearchActivity).WithMany(p => p.DimResearchActivityDimKeywords) + .HasForeignKey(d => d.DimResearchActivityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear970214"); + }); - j.IndexerProperty("DimRegisteredDataSourceId").HasColumnName("dim_registered_data_source_id"); - }); - }); + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83FB816BDE1"); + + entity.ToTable("dim_research_community"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Acronym) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("acronym"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(255) + .HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimResearchCommunities) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear59027"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F8E442686"); + + entity.ToTable("dim_research_data_catalog"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(4000) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(4000) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(4000) + .HasColumnName("description_sv"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F90695612"); + + entity.ToTable("dim_research_dataset"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DatasetCreated) + .HasColumnType("datetime") + .HasColumnName("dataset_created"); + entity.Property(e => e.DatasetModified) + .HasColumnType("datetime") + .HasColumnName("dataset_modified"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DescriptionUnd).HasColumnName("description_und"); + entity.Property(e => e.DimReferencedataAvailability).HasColumnName("dim_referencedata_availability"); + entity.Property(e => e.DimReferencedataLicense).HasColumnName("dim_referencedata_license"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); + entity.Property(e => e.GeographicCoverage) + .HasMaxLength(4000) + .HasColumnName("geographic_coverage"); + entity.Property(e => e.InternationalCollaboration).HasColumnName("international_collaboration"); + entity.Property(e => e.LocalIdentifier) + .HasMaxLength(255) + .HasColumnName("local_identifier"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.NameUnd) + .HasMaxLength(4000) + .HasColumnName("name_und"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.TemporalCoverageEnd) + .HasColumnType("datetime") + .HasColumnName("temporal_coverage_end"); + entity.Property(e => e.TemporalCoverageStart) + .HasColumnType("datetime") + .HasColumnName("temporal_coverage_start"); + entity.Property(e => e.VersionInfo) + .HasMaxLength(255) + .HasColumnName("version_info"); + + entity.HasOne(d => d.DimReferencedataAvailabilityNavigation).WithMany(p => p.DimResearchDatasetDimReferencedataAvailabilityNavigations) + .HasForeignKey(d => d.DimReferencedataAvailability) + .HasConstraintName("Availibiity classes"); + + entity.HasOne(d => d.DimReferencedataLicenseNavigation).WithMany(p => p.DimResearchDatasetDimReferencedataLicenseNavigations) + .HasForeignKey(d => d.DimReferencedataLicense) + .HasConstraintName("License"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimResearchDatasets) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear76083"); + + entity.HasOne(d => d.DimResearchDataCatalog).WithMany(p => p.DimResearchDatasets) + .HasForeignKey(d => d.DimResearchDataCatalogId) + .HasConstraintName("FKdim_resear753411"); + + entity.HasMany(d => d.DimKeywords).WithMany(p => p.DimResearchDatasets) + .UsingEntity>( + "BrResearchDatasetDimKeyword", + r => r.HasOne().WithMany() + .HasForeignKey("DimKeywordId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_researc961356"), + l => l.HasOne().WithMany() + .HasForeignKey("DimResearchDatasetId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("dataset-keywords"), + j => + { + j.HasKey("DimResearchDatasetId", "DimKeywordId").HasName("PK__br_resea__4D226DF2A3AC622F"); + j.ToTable("br_research_dataset_dim_keyword"); + j.IndexerProperty("DimResearchDatasetId").HasColumnName("dim_research_dataset_id"); + j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id"); + }); + + entity.HasMany(d => d.DimReferencedata).WithMany(p => p.DimResearchDatasets) + .UsingEntity>( + "BrLanguageCodesForDataset", + r => r.HasOne().WithMany() + .HasForeignKey("DimReferencedataId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_languag480770"), + l => l.HasOne().WithMany() + .HasForeignKey("DimResearchDatasetId") + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKbr_languag34243"), + j => + { + j.HasKey("DimResearchDatasetId", "DimReferencedataId").HasName("PK__br_langu__576647BFF5EC8F58"); + j.ToTable("br_language_codes_for_datasets"); + j.IndexerProperty("DimResearchDatasetId").HasColumnName("dim_research_dataset_id"); + j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id"); + }); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F5C8AD69B"); + + entity.ToTable("dim_research_project"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.AbbrevationEn) + .HasMaxLength(4000) + .HasColumnName("abbrevation_en"); + entity.Property(e => e.AbbrevationFi) + .HasMaxLength(4000) + .HasComment("Hanke - lyhenne") + .HasColumnName("abbrevation_fi"); + entity.Property(e => e.AbbrevationSv) + .HasMaxLength(4000) + .HasColumnName("abbrevation_sv"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasComment("Hanke - tiivistelmä") + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.EndDate) + .HasComment("Hanke - päättymispäivämäärä") + .HasColumnName("end_date"); + entity.Property(e => e.GoalsEn).HasColumnName("goals_en"); + entity.Property(e => e.GoalsFi).HasColumnName("goals_fi"); + entity.Property(e => e.GoalsSv).HasColumnName("goals_sv"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasComment("Hanke - nimi") + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.OutcomeEffectEn).HasColumnName("outcome_effect_en"); + entity.Property(e => e.OutcomeEffectFi).HasColumnName("outcome_effect_fi"); + entity.Property(e => e.OutcomeEffectSv).HasColumnName("outcome_effect_sv"); + entity.Property(e => e.ResponsibleOrganization) + .HasComment("Hanke - vastuuorganisaatio") + .HasColumnName("responsible_organization"); + entity.Property(e => e.ResponsiblePerson).HasColumnName("responsible_person"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.StartDate) + .HasComment("Hanke - alkamispäivämäärä") + .HasColumnName("start_date"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimResearchProjects) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear450820"); + + entity.HasOne(d => d.EndDateNavigation).WithMany(p => p.DimResearchProjectEndDateNavigations) + .HasForeignKey(d => d.EndDate) + .HasConstraintName("FKdim_resear517343"); + + entity.HasOne(d => d.ResponsibleOrganizationNavigation).WithMany(p => p.DimResearchProjects) + .HasForeignKey(d => d.ResponsibleOrganization) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear741036"); + + entity.HasOne(d => d.ResponsiblePersonNavigation).WithMany(p => p.DimResearchProjects) + .HasForeignKey(d => d.ResponsiblePerson) + .HasConstraintName("FKdim_resear684392"); + + entity.HasOne(d => d.StartDateNavigation).WithMany(p => p.DimResearchProjectStartDateNavigations) + .HasForeignKey(d => d.StartDate) + .HasConstraintName("FKdim_resear246050"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F1435D79A"); + + entity.ToTable("dim_researcher_description"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionType).HasColumnName("description_type"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.ResearchDescriptionEn).HasColumnName("research_description_en"); + entity.Property(e => e.ResearchDescriptionFi).HasColumnName("research_description_fi"); + entity.Property(e => e.ResearchDescriptionSv).HasColumnName("research_description_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimResearcherDescriptions) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear662094"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimResearcherDescriptions) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear1848"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_rese__3213E83F0A6F661B"); + + entity.ToTable("dim_researcher_to_research_community"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(511) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(511) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(511) + .HasColumnName("description_sv"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); + entity.Property(e => e.EndDate).HasColumnName("end_date"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.StartDate).HasColumnName("start_date"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimResearcherToResearchCommunities) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear255903"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimResearcherToResearchCommunities) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear408039"); + + entity.HasOne(d => d.DimResearchCommunity).WithMany(p => p.DimResearcherToResearchCommunities) + .HasForeignKey(d => d.DimResearchCommunityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear3824"); + + entity.HasOne(d => d.EndDateNavigation).WithMany(p => p.DimResearcherToResearchCommunityEndDateNavigations) + .HasForeignKey(d => d.EndDate) + .HasConstraintName("FKdim_resear658483"); + + entity.HasOne(d => d.StartDateNavigation).WithMany(p => p.DimResearcherToResearchCommunityStartDateNavigations) + .HasForeignKey(d => d.StartDate) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_resear612809"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_sect__3213E83F28F1F16F"); + + entity.ToTable("dim_sector"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.SectorId) + .HasMaxLength(255) + .HasColumnName("sector_id"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_serv__3213E83F97259487"); + + entity.ToTable("dim_service"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Acronym) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("acronym"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("description_sv"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("name_sv"); + entity.Property(e => e.ScientificDescriptionEn) + .HasMaxLength(4000) + .HasColumnName("scientific_description_en"); + entity.Property(e => e.ScientificDescriptionFi) + .HasMaxLength(4000) + .HasColumnName("scientific_description_fi"); + entity.Property(e => e.ScientificDescriptionSv) + .HasMaxLength(4000) + .HasColumnName("scientific_description_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Type) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("type"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_serv__3213E83F721E2804"); + + entity.ToTable("dim_service_point"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DescriptionEn) + .HasMaxLength(4000) + .HasColumnName("description_en"); + entity.Property(e => e.DescriptionFi) + .HasMaxLength(4000) + .HasColumnName("description_fi"); + entity.Property(e => e.DescriptionSv) + .HasMaxLength(4000) + .HasColumnName("description_sv"); + entity.Property(e => e.Email) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("email"); + entity.Property(e => e.LinkAccessPolicyEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("link_access_policy_en"); + entity.Property(e => e.LinkAccessPolicyFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("link_access_policy_fi"); + entity.Property(e => e.LinkAccessPolicySv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("link_access_policy_sv"); + entity.Property(e => e.LinkAdditionalInfoEn) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("link_additional_info_en"); + entity.Property(e => e.LinkAdditionalInfoFi) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("link_additional_info_fi"); + entity.Property(e => e.LinkAdditionalInfoSv) + .HasMaxLength(4000) + .IsUnicode(false) + .HasColumnName("link_additional_info_sv"); + entity.Property(e => e.LinkInternationalInfra) + .HasMaxLength(4000) + .HasColumnName("link_international_infra"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(4000) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(4000) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(4000) + .HasColumnName("name_sv"); + entity.Property(e => e.Phone) + .HasMaxLength(255) + .IsUnicode(false) + .HasColumnName("phone"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.VisitingAddress) + .HasMaxLength(4000) + .HasColumnName("visiting_address"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_tele__3213E83FF9226B60"); + + entity.ToTable("dim_telephone_number"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.TelephoneNumber) + .HasMaxLength(255) + .HasColumnName("telephone_number"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimTelephoneNumbers) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_teleph963809"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimTelephoneNumbers) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_teleph299867"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_type__3213E83F48DCA6C5"); + + entity.ToTable("dim_type_of_funding"); + + entity.HasIndex(e => e.TypeId, "UQ__dim_type__2C00059914D85771").IsUnique(); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimTypeOfFundingId).HasColumnName("dim_type_of_funding_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.NameEn) + .HasMaxLength(255) + .HasColumnName("name_en"); + entity.Property(e => e.NameFi) + .HasMaxLength(255) + .HasColumnName("name_fi"); + entity.Property(e => e.NameSv) + .HasMaxLength(255) + .HasColumnName("name_sv"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.TypeId) + .HasMaxLength(255) + .HasColumnName("type_id"); + + entity.HasOne(d => d.DimTypeOfFundingNavigation).WithMany(p => p.InverseDimTypeOfFundingNavigation) + .HasForeignKey(d => d.DimTypeOfFundingId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("part of "); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_user__3213E83FFD3436E7"); + + entity.ToTable("dim_user_choices"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimReferencedataIdAsUserChoiceLabel).HasColumnName("dim_referencedata_id_as_user_choice_label"); + entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.UserChoiceValue).HasColumnName("user_choice_value"); + + entity.HasOne(d => d.DimReferencedataIdAsUserChoiceLabelNavigation).WithMany(p => p.DimUserChoices) + .HasForeignKey(d => d.DimReferencedataIdAsUserChoiceLabel) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("user_selection_label"); + + entity.HasOne(d => d.DimUserProfile).WithMany(p => p.DimUserChoices) + .HasForeignKey(d => d.DimUserProfileId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_user_c733293"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_user__3213E83F22C2C42D"); + + entity.ToTable("dim_user_profile"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.AllowAllSubscriptions).HasColumnName("allow_all_subscriptions"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.Hidden).HasColumnName("hidden"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.OrcidAccessToken) + .HasMaxLength(255) + .HasColumnName("orcid_access_token"); + entity.Property(e => e.OrcidId) + .HasMaxLength(20) + .HasColumnName("orcid_id"); + entity.Property(e => e.OrcidRefreshToken) + .HasMaxLength(255) + .HasColumnName("orcid_refresh_token"); + entity.Property(e => e.OrcidTokenExpires) + .HasColumnType("datetime") + .HasColumnName("orcid_token_expires"); + entity.Property(e => e.OrcidTokenScope) + .HasMaxLength(255) + .HasColumnName("orcid_token_scope"); + entity.Property(e => e.PublishNewOrcidData).HasColumnName("publish_new_orcid_data"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Statuscode).HasColumnName("statuscode"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimUserProfiles) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKdim_user_p611467"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_web___3213E83FED3CB9D2"); + + entity.ToTable("dim_web_link"); + + entity.Property(e => e.Id).HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); + entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimProfileOnlyDatasetId).HasColumnName("dim_profile_only_dataset_id"); + entity.Property(e => e.DimProfileOnlyFundingDecisionId).HasColumnName("dim_profile_only_funding_decision_id"); + entity.Property(e => e.DimProfileOnlyResearchActivityId).HasColumnName("dim_profile_only_research_activity_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); + entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); + entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); + entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); + entity.Property(e => e.DimResearchProjectId).HasColumnName("dim_research_project_id"); + entity.Property(e => e.LanguageVariant) + .HasMaxLength(255) + .HasColumnName("language_variant"); + entity.Property(e => e.LinkLabel) + .HasMaxLength(255) + .HasColumnName("link_label"); + entity.Property(e => e.LinkType) + .HasMaxLength(255) + .HasColumnName("link_type"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + entity.Property(e => e.Url) + .HasMaxLength(511) + .HasColumnName("url"); + + entity.HasOne(d => d.DimCallProgramme).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimCallProgrammeId) + .HasConstraintName("call homepage"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimFundingDecisionId) + .HasConstraintName("FKdim_web_li388345"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimKnownPersonId) + .HasConstraintName("web presence"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimOrganizationId) + .HasConstraintName("language specific homepage"); + + entity.HasOne(d => d.DimProfileOnlyDataset).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimProfileOnlyDatasetId) + .HasConstraintName("FKdim_web_li121209"); + + entity.HasOne(d => d.DimProfileOnlyFundingDecision).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimProfileOnlyFundingDecisionId) + .HasConstraintName("FKdim_web_li251700"); + + entity.HasOne(d => d.DimProfileOnlyResearchActivity).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimProfileOnlyResearchActivityId) + .HasConstraintName("weblink"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .HasConstraintName("FKdim_web_regdatasource"); + + entity.HasOne(d => d.DimResearchActivity).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimResearchActivityId) + .HasConstraintName("FKdim_web_li272158"); + + entity.HasOne(d => d.DimResearchCommunity).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimResearchCommunityId) + .HasConstraintName("FKdim_web_li827668"); + + entity.HasOne(d => d.DimResearchDataCatalog).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimResearchDataCatalogId) + .HasConstraintName("FKdim_web_li597610"); + + entity.HasOne(d => d.DimResearchDataset).WithMany(p => p.DimWebLinks) + .HasForeignKey(d => d.DimResearchDatasetId) + .HasConstraintName("fairdata_weblink"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => e.Id).HasName("PK__dim_word__3213E83F20E9BF27"); + + entity.ToTable("dim_word_cluster"); + + entity.Property(e => e.Id) + .ValueGeneratedNever() + .HasColumnName("id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationId, e.DimDateId, e.DimNameId, e.DimPublicationId, e.DimGeoId, e.DimInfrastructureId, e.DimNewsFeedId, e.DimResearchDatasetId, e.DimResearchDataCatalogId, e.DimIdentifierlessDataId, e.DimResearchActivityId, e.DimResearchCommunityId, e.DimReferencedataActorRoleId, e.DimResearchProjectId }).HasName("PK__fact_con__7D4857052B440C05"); + + entity.ToTable("fact_contribution"); + + entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimDateId).HasColumnName("dim_date_id"); + entity.Property(e => e.DimNameId).HasColumnName("dim_name_id"); + entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); + entity.Property(e => e.DimGeoId).HasColumnName("dim_geo_id"); + entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); + entity.Property(e => e.DimNewsFeedId).HasColumnName("dim_news_feed_id"); + entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); + entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); + entity.Property(e => e.DimIdentifierlessDataId).HasColumnName("dim_identifierless_data_id"); + entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); + entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); + entity.Property(e => e.DimReferencedataActorRoleId).HasColumnName("dim_referencedata_actor_role_id"); + entity.Property(e => e.DimResearchProjectId) + .HasDefaultValueSql("('-1')") + .HasColumnName("dim_research_project_id"); + entity.Property(e => e.ContributionType) + .HasMaxLength(50) + .HasColumnName("contribution_type"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimDate).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimDateId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr224183"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimFundingDecisionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr321314"); + + entity.HasOne(d => d.DimGeo).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimGeoId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr711408"); + + entity.HasOne(d => d.DimIdentifierlessData).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimIdentifierlessDataId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr276794"); + + entity.HasOne(d => d.DimInfrastructure).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimInfrastructureId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr565219"); + + entity.HasOne(d => d.DimName).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimNameId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr288640"); + + entity.HasOne(d => d.DimNewsFeed).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimNewsFeedId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr632925"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr42449"); + + entity.HasOne(d => d.DimPublication).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimPublicationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr481795"); + + entity.HasOne(d => d.DimReferencedataActorRole).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimReferencedataActorRoleId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr466649"); + + entity.HasOne(d => d.DimResearchActivity).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimResearchActivityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("activity - person -affiliation AND activity - funding decision "); + + entity.HasOne(d => d.DimResearchCommunity).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimResearchCommunityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr434262"); + + entity.HasOne(d => d.DimResearchDataCatalog).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimResearchDataCatalogId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_contr859541"); + + entity.HasOne(d => d.DimResearchDataset).WithMany(p => p.FactContributions) + .HasForeignKey(d => d.DimResearchDatasetId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("authors, infras, publications, funding decisions"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimReferencedataId, e.DimResearchDatasetId, e.DimKnownPersonId, e.DimPublicationId, e.DimResearchActivityId, e.DimFundingDecisionId, e.DimInfrastructureId }).HasName("PK__fact_dim__3CB15DD385E216DB"); + + entity.ToTable("fact_dim_referencedata_field_of_science"); + + entity.Property(e => e.DimReferencedataId).HasColumnName("dim_referencedata_id"); + entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); + entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); + entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); + entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); + entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); + entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.FactDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimFundingDecisionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_dim_r41359"); + + entity.HasOne(d => d.DimInfrastructure).WithMany(p => p.FactDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimInfrastructureId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_dim_r956301"); + + entity.HasOne(d => d.DimKnownPerson).WithMany(p => p.FactDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimKnownPersonId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName(" "); + + entity.HasOne(d => d.DimPublication).WithMany(p => p.FactDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimPublicationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_dim_r127122"); + + entity.HasOne(d => d.DimReferencedata).WithMany(p => p.FactDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimReferencedataId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_dim_r588766"); + + entity.HasOne(d => d.DimResearchDataset).WithMany(p => p.FactDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimResearchDatasetId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_dim_r926246"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimUserProfileId, e.DimFieldDisplaySettingsId, e.DimNameId, e.DimWebLinkId, e.DimFundingDecisionId, e.DimPublicationId, e.DimPidId, e.DimPidIdOrcidPutCode, e.DimResearchActivityId, e.DimEventId, e.DimEducationId, e.DimCompetenceId, e.DimResearchCommunityId, e.DimTelephoneNumberId, e.DimEmailAddrressId, e.DimResearcherDescriptionId, e.DimIdentifierlessDataId, e.DimProfileOnlyPublicationId, e.DimProfileOnlyResearchActivityId, e.DimKeywordId, e.DimAffiliationId, e.DimResearcherToResearchCommunityId, e.DimReferencedataFieldOfScienceId, e.DimResearchDatasetId, e.DimRegisteredDataSourceId, e.DimReferencedataActorRoleId, e.DimProfileOnlyDatasetId, e.DimProfileOnlyFundingDecisionId }); + + entity.ToTable("fact_field_values"); + + entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); + entity.Property(e => e.DimFieldDisplaySettingsId).HasColumnName("dim_field_display_settings_id"); + entity.Property(e => e.DimNameId).HasColumnName("dim_name_id"); + entity.Property(e => e.DimWebLinkId).HasColumnName("dim_web_link_id"); + entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); + entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); + entity.Property(e => e.DimPidId).HasColumnName("dim_pid_id"); + entity.Property(e => e.DimPidIdOrcidPutCode).HasColumnName("dim_pid_id_orcid_put_code"); + entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); + entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); + entity.Property(e => e.DimEducationId).HasColumnName("dim_education_id"); + entity.Property(e => e.DimCompetenceId).HasColumnName("dim_competence_id"); + entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); + entity.Property(e => e.DimTelephoneNumberId).HasColumnName("dim_telephone_number_id"); + entity.Property(e => e.DimEmailAddrressId).HasColumnName("dim_email_addrress_id"); + entity.Property(e => e.DimResearcherDescriptionId).HasColumnName("dim_researcher_description_id"); + entity.Property(e => e.DimIdentifierlessDataId).HasColumnName("dim_identifierless_data_id"); + entity.Property(e => e.DimProfileOnlyPublicationId).HasColumnName("dim_profile_only_publication_id"); + entity.Property(e => e.DimProfileOnlyResearchActivityId).HasColumnName("dim_profile_only_research_activity_id"); + entity.Property(e => e.DimKeywordId).HasColumnName("dim_keyword_id"); + entity.Property(e => e.DimAffiliationId).HasColumnName("dim_affiliation_id"); + entity.Property(e => e.DimResearcherToResearchCommunityId).HasColumnName("dim_researcher_to_research_community_id"); + entity.Property(e => e.DimReferencedataFieldOfScienceId).HasColumnName("dim_referencedata_field_of_science_id"); + entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); + entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); + entity.Property(e => e.DimReferencedataActorRoleId).HasColumnName("dim_referencedata_actor_role_id"); + entity.Property(e => e.DimProfileOnlyDatasetId).HasColumnName("dim_profile_only_dataset_id"); + entity.Property(e => e.DimProfileOnlyFundingDecisionId).HasColumnName("dim_profile_only_funding_decision_id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.PrimaryValue).HasColumnName("primary_value"); + entity.Property(e => e.Show).HasColumnName("show"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimAffiliation).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimAffiliationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field816276"); + + entity.HasOne(d => d.DimCompetence).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimCompetenceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field746305"); + + entity.HasOne(d => d.DimEducation).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimEducationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field445913"); + + entity.HasOne(d => d.DimEmailAddrress).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimEmailAddrressId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field507571"); + + entity.HasOne(d => d.DimEvent).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimEventId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field645906"); + + entity.HasOne(d => d.DimFieldDisplaySettings).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimFieldDisplaySettingsId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("field content settings"); + + entity.HasOne(d => d.DimFundingDecision).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimFundingDecisionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field5141"); + + entity.HasOne(d => d.DimIdentifierlessData).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimIdentifierlessDataId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field39379"); + + entity.HasOne(d => d.DimKeyword).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimKeywordId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field786713"); + + entity.HasOne(d => d.DimName).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimNameId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field604813"); + + entity.HasOne(d => d.DimPid).WithMany(p => p.FactFieldValueDimPids) + .HasForeignKey(d => d.DimPidId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field989816"); + + entity.HasOne(d => d.DimPidIdOrcidPutCodeNavigation).WithMany(p => p.FactFieldValueDimPidIdOrcidPutCodeNavigations) + .HasForeignKey(d => d.DimPidIdOrcidPutCode) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("orcid_put_code"); + + entity.HasOne(d => d.DimProfileOnlyDataset).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimProfileOnlyDatasetId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field456895"); + + entity.HasOne(d => d.DimProfileOnlyFundingDecision).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimProfileOnlyFundingDecisionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field141786"); + + entity.HasOne(d => d.DimProfileOnlyPublication).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimProfileOnlyPublicationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field692932"); + + entity.HasOne(d => d.DimProfileOnlyResearchActivity).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimProfileOnlyResearchActivityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field671081"); + + entity.HasOne(d => d.DimPublication).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimPublicationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("displayed publications"); + + entity.HasOne(d => d.DimReferencedataActorRole).WithMany(p => p.FactFieldValueDimReferencedataActorRoles) + .HasForeignKey(d => d.DimReferencedataActorRoleId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("actor role"); + + entity.HasOne(d => d.DimReferencedataFieldOfScience).WithMany(p => p.FactFieldValueDimReferencedataFieldOfSciences) + .HasForeignKey(d => d.DimReferencedataFieldOfScienceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field192234"); + + entity.HasOne(d => d.DimRegisteredDataSource).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimRegisteredDataSourceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field346220"); + + entity.HasOne(d => d.DimResearchActivity).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimResearchActivityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field878671"); + + entity.HasOne(d => d.DimResearchCommunity).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimResearchCommunityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field750435"); + + entity.HasOne(d => d.DimResearchDataset).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimResearchDatasetId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field998843"); + + entity.HasOne(d => d.DimResearcherDescription).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimResearcherDescriptionId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field76121"); + + entity.HasOne(d => d.DimResearcherToResearchCommunity).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimResearcherToResearchCommunityId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field377489"); + + entity.HasOne(d => d.DimTelephoneNumber).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimTelephoneNumberId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field995052"); + + entity.HasOne(d => d.DimUserProfile).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimUserProfileId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field936263"); + + entity.HasOne(d => d.DimWebLink).WithMany(p => p.FactFieldValues) + .HasForeignKey(d => d.DimWebLinkId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_field475402"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimKeywordId, e.DimServiceId, e.DimServicePointId, e.DimInfrastructureId }).HasName("PK__fact_inf__3C29B680B73BD4FA"); + + entity.ToTable("fact_infra_keywords"); + + entity.Property(e => e.DimKeywordId).HasColumnName("dim_keyword_id"); + entity.Property(e => e.DimServiceId).HasColumnName("dim_service_id"); + entity.Property(e => e.DimServicePointId).HasColumnName("dim_service_point_id"); + entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimInfrastructure).WithMany(p => p.FactInfraKeywords) + .HasForeignKey(d => d.DimInfrastructureId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_infra800296"); + + entity.HasOne(d => d.DimKeyword).WithMany(p => p.FactInfraKeywords) + .HasForeignKey(d => d.DimKeywordId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_infra76615"); + + entity.HasOne(d => d.DimService).WithMany(p => p.FactInfraKeywords) + .HasForeignKey(d => d.DimServiceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_infra505599"); + + entity.HasOne(d => d.DimServicePoint).WithMany(p => p.FactInfraKeywords) + .HasForeignKey(d => d.DimServicePointId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_infra619117"); + }); + + modelBuilder.Entity(entity => + { + entity.HasKey(e => new { e.DimOrganizationId, e.DimGeoId, e.DimInfrastructureId, e.DimServiceId, e.DimServicePointId, e.DimDateIdStart, e.DimDateIdEnd }).HasName("PK__fact_upk__850A8E30C04C858F"); + + entity.ToTable("fact_upkeep"); + + entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); + entity.Property(e => e.DimGeoId).HasColumnName("dim_geo_id"); + entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); + entity.Property(e => e.DimServiceId).HasColumnName("dim_service_id"); + entity.Property(e => e.DimServicePointId).HasColumnName("dim_service_point_id"); + entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); + entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); + entity.Property(e => e.Created) + .HasColumnType("datetime") + .HasColumnName("created"); + entity.Property(e => e.Modified) + .HasColumnType("datetime") + .HasColumnName("modified"); + entity.Property(e => e.SourceDescription) + .HasMaxLength(255) + .HasColumnName("source_description"); + entity.Property(e => e.SourceId) + .HasMaxLength(255) + .HasColumnName("source_id"); + + entity.HasOne(d => d.DimDateIdEndNavigation).WithMany(p => p.FactUpkeepDimDateIdEndNavigations) + .HasForeignKey(d => d.DimDateIdEnd) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee332759"); + + entity.HasOne(d => d.DimDateIdStartNavigation).WithMany(p => p.FactUpkeepDimDateIdStartNavigations) + .HasForeignKey(d => d.DimDateIdStart) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee283512"); + + entity.HasOne(d => d.DimGeo).WithMany(p => p.FactUpkeeps) + .HasForeignKey(d => d.DimGeoId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee520794"); + + entity.HasOne(d => d.DimInfrastructure).WithMany(p => p.FactUpkeeps) + .HasForeignKey(d => d.DimInfrastructureId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee374605"); + + entity.HasOne(d => d.DimOrganization).WithMany(p => p.FactUpkeeps) + .HasForeignKey(d => d.DimOrganizationId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee851834"); + + entity.HasOne(d => d.DimService).WithMany(p => p.FactUpkeeps) + .HasForeignKey(d => d.DimServiceId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee302288"); + + entity.HasOne(d => d.DimServicePoint).WithMany(p => p.FactUpkeeps) + .HasForeignKey(d => d.DimServicePointId) + .OnDelete(DeleteBehavior.ClientSetNull) + .HasConstraintName("FKfact_upkee415806"); + }); + + OnModelCreatingPartial(modelBuilder); + } - modelBuilder.Entity(entity => - { - entity.ToTable("dim_funding_decision"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Acronym) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("acronym"); - - entity.Property(e => e.AmountInEur) - .HasColumnType("decimal(18, 2)") - .HasColumnName("amount_in_EUR"); - - entity.Property(e => e.AmountInFundingDecisionCurrency) - .HasColumnType("decimal(18, 2)") - .HasColumnName("amount_in_funding_decision_currency"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimCallDecisionsId) - .HasColumnName("dim_call_decisions_id") - .HasComment("Rahoituspäätös - Päätöspaneeli"); - - entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); - - entity.Property(e => e.DimDateIdApproval).HasColumnName("dim_date_id_approval"); - - entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); - - entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); - - entity.Property(e => e.DimFundingDecisionIdParentDecision).HasColumnName("dim_funding_decision_id_parent_decision"); - - entity.Property(e => e.DimGeoId).HasColumnName("dim_geo_id"); - - entity.Property(e => e.DimNameIdContactPerson).HasColumnName("dim_name_id_contact_person"); - - entity.Property(e => e.DimOrganizationIdFunder).HasColumnName("dim_organization_id_funder"); - - entity.Property(e => e.DimPidPidContent) - .HasMaxLength(255) - .HasColumnName("dim_pid_pid_content"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimTypeOfFundingId).HasColumnName("dim_type_of_funding_id"); - - entity.Property(e => e.FunderProjectNumber) - .HasMaxLength(255) - .HasColumnName("funder_project_number") - .HasComment("Päätöksen paikallinen tunniste (tiedon toimittajan)"); - - entity.Property(e => e.FundingDecisionCurrencyAbbreviation) - .HasMaxLength(255) - .HasColumnName("funding_decision_currency_abbreviation"); - - entity.Property(e => e.HasBusinessCollaboration).HasColumnName("has_business_collaboration"); - - entity.Property(e => e.HasInternationalCollaboration).HasColumnName("has_international_collaboration"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn).HasColumnName("name_en"); - - entity.Property(e => e.NameFi).HasColumnName("name_fi"); - - entity.Property(e => e.NameSv).HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd).HasColumnName("name_und"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimCallDecisions) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimCallDecisionsId) - .HasConstraintName("FKdim_fundin257658"); - - entity.HasOne(d => d.DimCallProgramme) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimCallProgrammeId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("programme"); - - entity.HasOne(d => d.DimDateIdApprovalNavigation) - .WithMany(p => p.DimFundingDecisionDimDateIdApprovalNavigations) - .HasForeignKey(d => d.DimDateIdApproval) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("project start"); - - entity.HasOne(d => d.DimDateIdEndNavigation) - .WithMany(p => p.DimFundingDecisionDimDateIdEndNavigations) - .HasForeignKey(d => d.DimDateIdEnd) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("approval"); - - entity.HasOne(d => d.DimDateIdStartNavigation) - .WithMany(p => p.DimFundingDecisionDimDateIdStartNavigations) - .HasForeignKey(d => d.DimDateIdStart) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("project end"); - - entity.HasOne(d => d.DimFundingDecisionIdParentDecisionNavigation) - .WithMany(p => p.InverseDimFundingDecisionIdParentDecisionNavigation) - .HasForeignKey(d => d.DimFundingDecisionIdParentDecision) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Parent decision"); - - entity.HasOne(d => d.DimGeo) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimGeoId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Where work is to be carried out"); - - entity.HasOne(d => d.DimNameIdContactPersonNavigation) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimNameIdContactPerson) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("contact_person"); - - entity.HasOne(d => d.DimOrganizationIdFunderNavigation) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimOrganizationIdFunder) - .HasConstraintName("funder"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_fundin282559"); - - entity.HasOne(d => d.DimTypeOfFunding) - .WithMany(p => p.DimFundingDecisions) - .HasForeignKey(d => d.DimTypeOfFundingId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_fundin974924"); - - entity.HasMany(d => d.DimFundingDecisionFroms) - .WithMany(p => p.DimFundingDecisionTos) - .UsingEntity>( - "BrRelatedFundingDecision", - l => l.HasOne().WithMany().HasForeignKey("DimFundingDecisionFromId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_related232364"), - r => r.HasOne().WithMany().HasForeignKey("DimFundingDecisionToId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_related689923"), - j => - { - j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__90966491CDC38E05"); - - j.ToTable("br_related_funding_decision"); - - j.IndexerProperty("DimFundingDecisionFromId").HasColumnName("dim_funding_decision_from_id"); - - j.IndexerProperty("DimFundingDecisionToId").HasColumnName("dim_funding_decision_to_id"); - }); - - entity.HasMany(d => d.DimFundingDecisionTos) - .WithMany(p => p.DimFundingDecisionFroms) - .UsingEntity>( - "BrRelatedFundingDecision", - l => l.HasOne().WithMany().HasForeignKey("DimFundingDecisionToId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_related689923"), - r => r.HasOne().WithMany().HasForeignKey("DimFundingDecisionFromId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_related232364"), - j => - { - j.HasKey("DimFundingDecisionFromId", "DimFundingDecisionToId").HasName("PK__br_relat__90966491CDC38E05"); - - j.ToTable("br_related_funding_decision"); - - j.IndexerProperty("DimFundingDecisionFromId").HasColumnName("dim_funding_decision_from_id"); - - j.IndexerProperty("DimFundingDecisionToId").HasColumnName("dim_funding_decision_to_id"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_geo"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.CountryCode) - .HasMaxLength(255) - .HasColumnName("country_code"); - - entity.Property(e => e.CountryEn) - .HasMaxLength(255) - .HasColumnName("country_en"); - - entity.Property(e => e.CountryFi) - .HasMaxLength(255) - .HasColumnName("country_fi"); - - entity.Property(e => e.CountryId) - .HasMaxLength(255) - .HasColumnName("country_id"); - - entity.Property(e => e.CountrySv) - .HasMaxLength(255) - .HasColumnName("country_sv"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.MunicipalityFi) - .HasMaxLength(255) - .HasColumnName("municipality_fi"); - - entity.Property(e => e.MunicipalityId) - .HasMaxLength(255) - .HasColumnName("municipality_id"); - - entity.Property(e => e.MunicipalitySv) - .HasMaxLength(255) - .HasColumnName("municipality_sv"); - - entity.Property(e => e.RegionFi) - .HasMaxLength(255) - .HasColumnName("region_fi"); - - entity.Property(e => e.RegionId) - .HasMaxLength(255) - .HasColumnName("region_id"); - - entity.Property(e => e.RegionSv) - .HasMaxLength(255) - .HasColumnName("region_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_identifierless_data"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimIdentifierlessDataId).HasColumnName("dim_identifierless_data_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(4000) - .HasColumnName("source_id"); - - entity.Property(e => e.Type) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("type"); - - entity.Property(e => e.UnlinkedIdentifier) - .HasMaxLength(4000) - .HasColumnName("unlinked_identifier"); - - entity.Property(e => e.ValueEn) - .HasMaxLength(4000) - .HasColumnName("value_en"); - - entity.Property(e => e.ValueFi) - .HasMaxLength(4000) - .HasColumnName("value_fi"); - - entity.Property(e => e.ValueSv) - .HasMaxLength(4000) - .HasColumnName("value_sv"); - - entity.HasOne(d => d.DimIdentifierlessData) - .WithMany(p => p.InverseDimIdentifierlessData) - .HasForeignKey(d => d.DimIdentifierlessDataId) - .HasConstraintName("parent_data"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_infrastructure"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Acronym) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("acronym"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("description_sv"); - - entity.Property(e => e.EndYear).HasColumnName("end_year"); - - entity.Property(e => e.FinlandRoadmap).HasColumnName("finland_roadmap"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("name_sv"); - - entity.Property(e => e.NextInfastructureId).HasColumnName("next_infastructure_id"); - - entity.Property(e => e.ScientificDescriptionEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("scientific_description_en"); - - entity.Property(e => e.ScientificDescriptionFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("scientific_description_fi"); - - entity.Property(e => e.ScientificDescriptionSv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("scientific_description_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.StartYear).HasColumnName("start_year"); - - entity.Property(e => e.Urn) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("urn"); - - entity.HasOne(d => d.NextInfastructure) - .WithMany(p => p.InverseNextInfastructure) - .HasForeignKey(d => d.NextInfastructureId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_infras462742"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_keyword"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.ConceptUri) - .HasMaxLength(255) - .HasColumnName("concept_uri"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimKeywordCloseMatch).HasColumnName("dim_keyword_close_match"); - - entity.Property(e => e.DimKeywordLanguageVariant).HasColumnName("dim_keyword_language_variant"); - - entity.Property(e => e.DimKeywordRelated).HasColumnName("dim_keyword_related"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.Keyword) - .HasMaxLength(255) - .HasColumnName("keyword"); - - entity.Property(e => e.Language) - .HasMaxLength(255) - .HasColumnName("language"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.Scheme) - .HasMaxLength(255) - .HasColumnName("scheme"); - - entity.Property(e => e.SchemeUri) - .HasMaxLength(255) - .HasColumnName("scheme_uri"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimKeywordCloseMatchNavigation) - .WithMany(p => p.InverseDimKeywordCloseMatchNavigation) - .HasForeignKey(d => d.DimKeywordCloseMatch) - .HasConstraintName("related"); - - entity.HasOne(d => d.DimKeywordLanguageVariantNavigation) - .WithMany(p => p.InverseDimKeywordLanguageVariantNavigation) - .HasForeignKey(d => d.DimKeywordLanguageVariant) - .HasConstraintName("language_variant"); - - entity.HasOne(d => d.DimKeywordRelatedNavigation) - .WithMany(p => p.InverseDimKeywordRelatedNavigation) - .HasForeignKey(d => d.DimKeywordRelated) - .HasConstraintName("close_match"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimKeywords) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_keywor723976"); - - entity.HasMany(d => d.DimFundingDecisions) - .WithMany(p => p.DimKeywords) - .UsingEntity>( - "BrKeywordDimFundingDecision", - l => l.HasOne().WithMany().HasForeignKey("DimFundingDecisionId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_keyword955130"), - r => r.HasOne().WithMany().HasForeignKey("DimKeywordId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_keyword224605"), - j => - { - j.HasKey("DimKeywordId", "DimFundingDecisionId").HasName("PK__br_keywo__8C7B929B2268F773"); - - j.ToTable("br_keyword_dim_funding_decision"); - - j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id"); - - j.IndexerProperty("DimFundingDecisionId").HasColumnName("dim_funding_decision_id"); - }); - - entity.HasMany(d => d.DimPublications) - .WithMany(p => p.DimKeywords) - .UsingEntity>( - "BrKeywordDimPublication", - l => l.HasOne().WithMany().HasForeignKey("DimPublicationId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_keyword634640"), - r => r.HasOne().WithMany().HasForeignKey("DimKeywordId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_keyword944303"), - j => - { - j.HasKey("DimKeywordId", "DimPublicationId").HasName("PK__br_keywo__C6E31F1AF3BA7AAC"); - - j.ToTable("br_keyword_dim_publication"); - - j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id"); - - j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_known_person"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.SourceProjectId) - .HasMaxLength(100) - .HasColumnName("source_project_id"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimKnownPeople) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .HasConstraintName("FKdim_knownperson_regdatasource"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_locally_reported_pub_info"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimPublicationid).HasColumnName("dim_publicationid"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SelfArchivedEmbargoDate) - .HasColumnType("datetime") - .HasColumnName("self_archived_embargo_date"); - - entity.Property(e => e.SelfArchivedLicenseCode).HasColumnName("self_archived_license_code"); - - entity.Property(e => e.SelfArchivedType) - .HasMaxLength(50) - .HasColumnName("self_archived_type"); - - entity.Property(e => e.SelfArchivedUrl) - .HasMaxLength(400) - .HasColumnName("self_archived_url"); - - entity.Property(e => e.SelfArchivedVersionCode).HasColumnName("self_archived_version_code"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimPublication) - .WithMany(p => p.DimLocallyReportedPubInfos) - .HasForeignKey(d => d.DimPublicationid) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_locall183416"); - - entity.HasOne(d => d.SelfArchivedLicenseCodeNavigation) - .WithMany(p => p.DimLocallyReportedPubInfoSelfArchivedLicenseCodeNavigations) - .HasForeignKey(d => d.SelfArchivedLicenseCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("licence_code"); - - entity.HasOne(d => d.SelfArchivedVersionCodeNavigation) - .WithMany(p => p.DimLocallyReportedPubInfoSelfArchivedVersionCodeNavigations) - .HasForeignKey(d => d.SelfArchivedVersionCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("version_code"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_meril"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("name_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasMany(d => d.DimInfrastructures) - .WithMany(p => p.DimMerils) - .UsingEntity>( - "BrMerilDimInfrastructure", - l => l.HasOne().WithMany().HasForeignKey("DimInfrastructureId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_meril_d901766"), - r => r.HasOne().WithMany().HasForeignKey("DimMerilId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_meril_d209645"), - j => - { - j.HasKey("DimMerilId", "DimInfrastructureId").HasName("PK__br_meril__A30C54DA6D039B5E"); - - j.ToTable("br_meril_dim_infrastructure"); - - j.IndexerProperty("DimMerilId").HasColumnName("dim_meril_id"); - - j.IndexerProperty("DimInfrastructureId").HasColumnName("dim_infrastructure_id"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_mined_words"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Word) - .HasMaxLength(255) - .HasColumnName("word"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_name"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimKnownPersonIdConfirmedIdentity).HasColumnName("dim_known_person_id_confirmed_identity"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.FirstNames) - .HasMaxLength(255) - .HasColumnName("first_names"); - - entity.Property(e => e.FullName) - .HasMaxLength(255) - .HasColumnName("full_name"); - - entity.Property(e => e.LastName) - .HasMaxLength(255) - .HasColumnName("last_name"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.SourceProjectId) - .HasMaxLength(100) - .HasColumnName("source_project_id"); - - entity.HasOne(d => d.DimKnownPersonIdConfirmedIdentityNavigation) - .WithMany(p => p.DimNames) - .HasForeignKey(d => d.DimKnownPersonIdConfirmedIdentity) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("confirmed identity"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimNames) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_name798039"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_news_feed"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.FeedUrl) - .HasMaxLength(4000) - .HasColumnName("feed_url"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Title) - .HasMaxLength(511) - .HasColumnName("title"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.Id, e.DimNewsFeedid }) - .HasName("PK__dim_news__B87E670333B6CC8B"); - - entity.ToTable("dim_news_item"); - - entity.Property(e => e.Id) - .ValueGeneratedOnAdd() - .HasColumnName("id"); - - entity.Property(e => e.DimNewsFeedid).HasColumnName("dim_news_feedid"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NewsContent).HasColumnName("news_content"); - - entity.Property(e => e.NewsHeadline).HasColumnName("news_headline"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Timestamp) - .HasColumnType("smalldatetime") - .HasColumnName("timestamp"); - - entity.Property(e => e.Url) - .HasMaxLength(4000) - .HasColumnName("url"); - - entity.HasOne(d => d.DimNewsFeed) - .WithMany(p => p.DimNewsItems) - .HasForeignKey(d => d.DimNewsFeedid) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_news_i691810"); - }); - - modelBuilder.Entity(entity => - { - entity.HasNoKey(); - - entity.ToTable("dim_organisation_media"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.LanguageVariant) - .HasMaxLength(255) - .HasColumnName("language_variant"); - - entity.Property(e => e.MediaUri) - .HasMaxLength(511) - .HasColumnName("media_uri"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimOrganization) - .WithMany() - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_organi623202"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_organization"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.CountryCode) - .HasMaxLength(2) - .HasColumnName("country_code"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DegreeCountBsc).HasColumnName("degree_count_bsc"); - - entity.Property(e => e.DegreeCountLic).HasColumnName("degree_count_lic"); - - entity.Property(e => e.DegreeCountMsc).HasColumnName("degree_count_msc"); - - entity.Property(e => e.DegreeCountPhd).HasColumnName("degree_count_phd"); - - entity.Property(e => e.DimOrganizationBroader).HasColumnName("dim_organization_broader"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimSectorid).HasColumnName("dim_sectorid"); - - entity.Property(e => e.Established) - .HasColumnType("datetime") - .HasColumnName("established"); - - entity.Property(e => e.LocalOrganizationSector) - .HasMaxLength(255) - .HasColumnName("local_organization_sector"); - - entity.Property(e => e.LocalOrganizationUnitId) - .HasMaxLength(255) - .HasColumnName("local_organization_unit_Id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); - - entity.Property(e => e.NameVariants) - .HasMaxLength(1023) - .HasColumnName("name_variants"); - - entity.Property(e => e.OrganizationActive).HasColumnName("organization_active"); - - entity.Property(e => e.OrganizationBackground) - .HasMaxLength(4000) - .HasColumnName("organization_background"); - - entity.Property(e => e.OrganizationId) - .HasMaxLength(255) - .HasColumnName("organization_id"); - - entity.Property(e => e.OrganizationType) - .HasMaxLength(255) - .HasColumnName("organization_type"); - - entity.Property(e => e.PostalAddress) - .HasMaxLength(511) - .HasColumnName("postal_address"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.StaffCountAsFte).HasColumnName("staff_count_as_fte"); - - entity.Property(e => e.VisitingAddress) - .HasMaxLength(4000) - .HasColumnName("visiting_address"); - - entity.HasOne(d => d.DimOrganizationBroaderNavigation) - .WithMany(p => p.InverseDimOrganizationBroaderNavigation) - .HasForeignKey(d => d.DimOrganizationBroader) - .HasConstraintName("is_part_of"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimOrganizations) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_organi972074"); - - entity.HasOne(d => d.DimSector) - .WithMany(p => p.DimOrganizations) - .HasForeignKey(d => d.DimSectorid) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_organi330513"); - - entity.HasMany(d => d.DimCallProgrammes) - .WithMany(p => p.DimOrganizations) - .UsingEntity>( - "BrOrganizationsFundCallProgramme", - l => l.HasOne().WithMany().HasForeignKey("DimCallProgrammeid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_organiz165034"), - r => r.HasOne().WithMany().HasForeignKey("DimOrganizationid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_organiz621686"), - j => - { - j.HasKey("DimOrganizationid", "DimCallProgrammeid").HasName("PK__br_organ__10F219BCA44177EA"); - - j.ToTable("br_organizations_fund_call_programmes"); - - j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); - - j.IndexerProperty("DimCallProgrammeid").HasColumnName("dim_call_programmeid"); - }); - - entity.HasMany(d => d.DimOrganizationid2s) - .WithMany(p => p.DimOrganizations) - .UsingEntity>( - "BrPredecessorOrganization", - l => l.HasOne().WithMany().HasForeignKey("DimOrganizationid2").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_predece505451"), - r => r.HasOne().WithMany().HasForeignKey("DimOrganizationid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_predece849307"), - j => - { - j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F456221723"); - - j.ToTable("br_predecessor_organization"); - - j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); - - j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); - }); - - entity.HasMany(d => d.DimOrganizationid2sNavigation) - .WithMany(p => p.DimOrganizationsNavigation) - .UsingEntity>( - "BrSuccessorOrganization", - l => l.HasOne().WithMany().HasForeignKey("DimOrganizationid2").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_success902531"), - r => r.HasOne().WithMany().HasForeignKey("DimOrganizationid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_success452227"), - j => - { - j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F48D15EF8C"); - - j.ToTable("br_successor organization"); - - j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); - - j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); - }); - - entity.HasMany(d => d.DimOrganizations) - .WithMany(p => p.DimOrganizationid2s) - .UsingEntity>( - "BrPredecessorOrganization", - l => l.HasOne().WithMany().HasForeignKey("DimOrganizationid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_predece849307"), - r => r.HasOne().WithMany().HasForeignKey("DimOrganizationid2").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_predece505451"), - j => - { - j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_prede__A7CAD2F456221723"); - - j.ToTable("br_predecessor_organization"); - - j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); - - j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); - }); - - entity.HasMany(d => d.DimOrganizationsNavigation) - .WithMany(p => p.DimOrganizationid2sNavigation) - .UsingEntity>( - "BrSuccessorOrganization", - l => l.HasOne().WithMany().HasForeignKey("DimOrganizationid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_success452227"), - r => r.HasOne().WithMany().HasForeignKey("DimOrganizationid2").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_success902531"), - j => - { - j.HasKey("DimOrganizationid", "DimOrganizationid2").HasName("PK__br_succe__A7CAD2F48D15EF8C"); - - j.ToTable("br_successor organization"); - - j.IndexerProperty("DimOrganizationid").HasColumnName("dim_organizationid"); - - j.IndexerProperty("DimOrganizationid2").HasColumnName("dim_organizationid2"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_pid"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); - - entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimProfileOnlyDatasetId).HasColumnName("dim_profile_only_dataset_id"); - - entity.Property(e => e.DimProfileOnlyFundingDecisionId).HasColumnName("dim_profile_only_funding_decision_id"); - - entity.Property(e => e.DimProfileOnlyPublicationId).HasColumnName("dim_profile_only_publication_id"); - - entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id"); - - entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); - - entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); - - entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); - - entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); - - entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); - - entity.Property(e => e.DimResearchProjectId).HasColumnName("dim_research_project_id"); - - entity.Property(e => e.DimServiceId).HasColumnName("dim_service_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.PidContent) - .HasMaxLength(255) - .HasColumnName("pid_content"); - - entity.Property(e => e.PidType) - .HasMaxLength(255) - .HasColumnName("pid_type"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimEvent) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimEventId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("event_identifier"); - - entity.HasOne(d => d.DimInfrastructure) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimInfrastructureId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("URN/infrastructure"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Orcid/ISNI"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("ISNI/GRID/ROR/Business-ID\\PIC"); - - entity.HasOne(d => d.DimProfileOnlyDataset) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimProfileOnlyDatasetId) - .HasConstraintName("FKdim_pid852504"); - - entity.HasOne(d => d.DimProfileOnlyFundingDecision) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimProfileOnlyFundingDecisionId) - .HasConstraintName("FKdim_pid746176"); - - entity.HasOne(d => d.DimProfileOnlyPublication) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimProfileOnlyPublicationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("ll"); - - entity.HasOne(d => d.DimPublicationChannel) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimPublicationChannelId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("mostly ISSN"); - - entity.HasOne(d => d.DimPublication) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimPublicationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("DOI/ISBN1-2"); - - entity.HasOne(d => d.DimResearchActivity) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimResearchActivityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_pid725718"); - - entity.HasOne(d => d.DimResearchCommunity) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimResearchCommunityId) - .HasConstraintName("FKdim_pid146045"); - - entity.HasOne(d => d.DimResearchDataCatalog) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimResearchDataCatalogId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_pid400266"); - - entity.HasOne(d => d.DimResearchDataset) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimResearchDatasetId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("URN/DOI"); - - entity.HasOne(d => d.DimService) - .WithMany(p => p.DimPids) - .HasForeignKey(d => d.DimServiceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("URN/service"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_profile_only_dataset"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DatasetCreated) - .HasColumnType("datetime") - .HasColumnName("dataset_created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DescriptionUnd).HasColumnName("description_und"); - - entity.Property(e => e.DimReferencedataIdAvailability).HasColumnName("dim_referencedata_id_availability"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(4000) - .HasColumnName("name_und"); - - entity.Property(e => e.OrcidWorkType) - .HasMaxLength(255) - .HasColumnName("orcid_work_type"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.VersionInfo) - .HasMaxLength(255) - .HasColumnName("version_info"); - - entity.HasOne(d => d.DimReferencedataIdAvailabilityNavigation) - .WithMany(p => p.DimProfileOnlyDatasets) - .HasForeignKey(d => d.DimReferencedataIdAvailability) - .HasConstraintName("availability codes"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimProfileOnlyDatasets) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil660906"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_profile_only_funding_decision"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Acronym) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("acronym"); - - entity.Property(e => e.AmountInEur) - .HasColumnType("decimal(18, 2)") - .HasColumnName("amount_in_EUR"); - - entity.Property(e => e.AmountInFundingDecisionCurrency) - .HasColumnType("decimal(18, 2)") - .HasColumnName("amount_in_funding_decision_currency"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); - - entity.Property(e => e.DimDateIdApproval).HasColumnName("dim_date_id_approval"); - - entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); - - entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); - - entity.Property(e => e.DimOrganizationIdFunder).HasColumnName("dim_organization_id_funder"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimTypeOfFundingId).HasColumnName("dim_type_of_funding_id"); - - entity.Property(e => e.FunderProjectNumber) - .HasMaxLength(255) - .HasColumnName("funder_project_number"); - - entity.Property(e => e.FundingDecisionCurrencyAbbreviation) - .HasMaxLength(255) - .HasColumnName("funding_decision_currency_abbreviation"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); - - entity.Property(e => e.OrcidWorkType) - .HasMaxLength(255) - .HasColumnName("orcid_work_type"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimCallProgramme) - .WithMany(p => p.DimProfileOnlyFundingDecisions) - .HasForeignKey(d => d.DimCallProgrammeId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil901315"); - - entity.HasOne(d => d.DimDateIdApprovalNavigation) - .WithMany(p => p.DimProfileOnlyFundingDecisionDimDateIdApprovalNavigations) - .HasForeignKey(d => d.DimDateIdApproval) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil305481"); - - entity.HasOne(d => d.DimDateIdEndNavigation) - .WithMany(p => p.DimProfileOnlyFundingDecisionDimDateIdEndNavigations) - .HasForeignKey(d => d.DimDateIdEnd) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil258491"); - - entity.HasOne(d => d.DimDateIdStartNavigation) - .WithMany(p => p.DimProfileOnlyFundingDecisionDimDateIdStartNavigations) - .HasForeignKey(d => d.DimDateIdStart) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil96828"); - - entity.HasOne(d => d.DimOrganizationIdFunderNavigation) - .WithMany(p => p.DimProfileOnlyFundingDecisions) - .HasForeignKey(d => d.DimOrganizationIdFunder) - .HasConstraintName("FKdim_profil261429"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimProfileOnlyFundingDecisions) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil430683"); - - entity.HasOne(d => d.DimTypeOfFunding) - .WithMany(p => p.DimProfileOnlyFundingDecisions) - .HasForeignKey(d => d.DimTypeOfFundingId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil826800"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_profile_only_publication"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.ArticleNumberText) - .HasMaxLength(255) - .HasColumnName("article_number_text"); - - entity.Property(e => e.ArticleTypeCode) - .HasColumnName("article_type_code") - .HasComment("code_scheme = 'Artikkelintyyppikoodi'"); - - entity.Property(e => e.AuthorsText).HasColumnName("authors_text"); - - entity.Property(e => e.ConferenceName) - .HasMaxLength(4000) - .HasColumnName("conference_name"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimProfileOnlyPublicationId).HasColumnName("dim_profile_only_publication_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DoiHandle) - .HasMaxLength(4000) - .HasColumnName("doi_handle"); - - entity.Property(e => e.IssueNumber) - .HasMaxLength(255) - .HasColumnName("issue_number"); - - entity.Property(e => e.LanguageCode).HasColumnName("language_code"); - - entity.Property(e => e.LicenseCode).HasColumnName("license_code"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NumberOfAuthors).HasColumnName("number_of_authors"); - - entity.Property(e => e.OpenAccessCode) - .HasMaxLength(255) - .HasColumnName("open_access_code"); - - entity.Property(e => e.OrcidWorkType) - .HasMaxLength(255) - .HasColumnName("orcid_work_type"); - - entity.Property(e => e.OriginalPublicationId) - .HasMaxLength(255) - .HasColumnName("original_publication_id"); - - entity.Property(e => e.PageNumberText) - .HasMaxLength(255) - .HasColumnName("page_number_text"); - - entity.Property(e => e.ParentPublicationEditors) - .HasMaxLength(4000) - .HasColumnName("parent_publication_editors"); - - entity.Property(e => e.ParentPublicationName) - .HasMaxLength(4000) - .HasColumnName("parent_publication_name"); - - entity.Property(e => e.ParentTypeClassificationCode).HasColumnName("parent_type_classification_code"); - - entity.Property(e => e.PeerReviewed).HasColumnName("peer_reviewed"); - - entity.Property(e => e.PublicationCountryCode).HasColumnName("publication_country_code"); - - entity.Property(e => e.PublicationFormatCode) - .HasColumnName("publication_format_code") - .HasComment("code_scheme = 'julkaisumuoto'"); - - entity.Property(e => e.PublicationId) - .HasMaxLength(255) - .HasColumnName("publication_id"); - - entity.Property(e => e.PublicationName) - .HasMaxLength(4000) - .HasColumnName("publication_name"); - - entity.Property(e => e.PublicationYear).HasColumnName("publication_year"); - - entity.Property(e => e.PublisherLocation) - .HasMaxLength(255) - .HasColumnName("publisher_location"); - - entity.Property(e => e.PublisherName) - .HasMaxLength(4000) - .HasColumnName("publisher_name"); - - entity.Property(e => e.Report).HasColumnName("report"); - - entity.Property(e => e.ShortDescription).HasColumnName("short_description"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.TargetAudienceCode) - .HasColumnName("target_audience_code") - .HasComment("code_scheme = 'julkaisunyleiso'"); - - entity.Property(e => e.ThesisTypeCode).HasColumnName("thesis_type_code"); - - entity.Property(e => e.TypeClassificationCode) - .HasColumnName("type_classification_code") - .HasComment("code_schema = 'julkaisutyyppiluokitus'"); - - entity.Property(e => e.Volume) - .HasMaxLength(255) - .HasColumnName("volume"); - - entity.HasOne(d => d.ArticleTypeCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationArticleTypeCodeNavigations) - .HasForeignKey(d => d.ArticleTypeCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Or_article_type_code"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimProfileOnlyPublications) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_orcid_438595"); - - entity.HasOne(d => d.DimProfileOnlyPublicationNavigation) - .WithMany(p => p.InverseDimProfileOnlyPublicationNavigation) - .HasForeignKey(d => d.DimProfileOnlyPublicationId) - .HasConstraintName("parent orcid publication"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimProfileOnlyPublications) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_orcid_729203"); - - entity.HasOne(d => d.LanguageCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationLanguageCodeNavigations) - .HasForeignKey(d => d.LanguageCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("language_code_profile_only_publication"); - - entity.HasOne(d => d.LicenseCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationLicenseCodeNavigations) - .HasForeignKey(d => d.LicenseCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("license_code_profile_only_publication"); - - entity.HasOne(d => d.ParentTypeClassificationCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationParentTypeClassificationCodeNavigations) - .HasForeignKey(d => d.ParentTypeClassificationCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Or_parent_publication_type_code"); - - entity.HasOne(d => d.PublicationCountryCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationPublicationCountryCodeNavigations) - .HasForeignKey(d => d.PublicationCountryCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("publication_country_code_profile_only_publication"); - - entity.HasOne(d => d.PublicationFormatCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationPublicationFormatCodeNavigations) - .HasForeignKey(d => d.PublicationFormatCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Or_publication_type_code2"); - - entity.HasOne(d => d.TargetAudienceCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationTargetAudienceCodeNavigations) - .HasForeignKey(d => d.TargetAudienceCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Or_target_audience_code"); - - entity.HasOne(d => d.ThesisTypeCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationThesisTypeCodeNavigations) - .HasForeignKey(d => d.ThesisTypeCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("thesis_type_code_profile_only_publication"); - - entity.HasOne(d => d.TypeClassificationCodeNavigation) - .WithMany(p => p.DimProfileOnlyPublicationTypeClassificationCodeNavigations) - .HasForeignKey(d => d.TypeClassificationCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("type_classification"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_profile_only_research_activity"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); - - entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); - - entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); - - entity.Property(e => e.DimGeoIdCountry).HasColumnName("dim_geo_id_country"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.IndentifierlessTargetOrg) - .HasMaxLength(511) - .HasColumnName("indentifierless_target_org"); - - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); - - entity.Property(e => e.OrcidWorkType) - .HasMaxLength(255) - .HasColumnName("orcid_work_type"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimDateIdEndNavigation) - .WithMany(p => p.DimProfileOnlyResearchActivityDimDateIdEndNavigations) - .HasForeignKey(d => d.DimDateIdEnd) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil457771"); - - entity.HasOne(d => d.DimDateIdStartNavigation) - .WithMany(p => p.DimProfileOnlyResearchActivityDimDateIdStartNavigations) - .HasForeignKey(d => d.DimDateIdStart) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil158500"); - - entity.HasOne(d => d.DimEvent) - .WithMany(p => p.DimProfileOnlyResearchActivities) - .HasForeignKey(d => d.DimEventId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil693884"); - - entity.HasOne(d => d.DimGeoIdCountryNavigation) - .WithMany(p => p.DimProfileOnlyResearchActivities) - .HasForeignKey(d => d.DimGeoIdCountry) - .HasConstraintName("FKdim_profil903211"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimProfileOnlyResearchActivities) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil273177"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimProfileOnlyResearchActivities) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_profil285579"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_publication"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Abstract).HasColumnName("abstract"); - - entity.Property(e => e.ApcFeeEur) - .HasColumnType("decimal(18, 2)") - .HasColumnName("apc_fee_EUR"); - - entity.Property(e => e.ApcPaymentYear).HasColumnName("apc_payment_year"); - - entity.Property(e => e.ArticleNumberText) - .HasMaxLength(255) - .HasColumnName("article_number_text"); - - entity.Property(e => e.ArticleTypeCode).HasColumnName("article_type_code"); - - entity.Property(e => e.AuthorsText).HasColumnName("authors_text"); - - entity.Property(e => e.BusinessCollaboration).HasColumnName("business_collaboration"); - - entity.Property(e => e.ConferenceName) - .HasMaxLength(4000) - .HasColumnName("conference_name"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.Doi) - .HasMaxLength(4000) - .HasColumnName("doi"); - - entity.Property(e => e.DoiHandle) - .HasMaxLength(4000) - .HasColumnName("doi_handle"); - - entity.Property(e => e.GovermentCollaboration).HasColumnName("goverment_collaboration"); - - entity.Property(e => e.HospitalDistrictCollaboration).HasColumnName("hospital_district_collaboration"); - - entity.Property(e => e.InternationalCollaboration).HasColumnName("international_collaboration"); - - entity.Property(e => e.InternationalPublication).HasColumnName("international_publication"); - - entity.Property(e => e.Isbn) - .HasMaxLength(255) - .HasColumnName("isbn"); - - entity.Property(e => e.Isbn2) - .HasMaxLength(255) - .HasColumnName("isbn2"); - - entity.Property(e => e.Issn) - .HasMaxLength(255) - .HasColumnName("issn"); - - entity.Property(e => e.Issn2) - .HasMaxLength(255) - .HasColumnName("issn2"); - - entity.Property(e => e.IssueNumber) - .HasMaxLength(255) - .HasColumnName("issue_number"); - - entity.Property(e => e.JournalName) - .HasMaxLength(4000) - .HasColumnName("journal_name"); - - entity.Property(e => e.JufoClass).HasColumnName("jufo_class"); - - entity.Property(e => e.JuuliAddress) - .HasMaxLength(4000) - .HasColumnName("juuli_address"); - - entity.Property(e => e.LanguageCode).HasColumnName("language_code"); - - entity.Property(e => e.LicenseCode).HasColumnName("license_code"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NumberOfAuthors).HasColumnName("number_of_authors"); - - entity.Property(e => e.OpenAccess) - .HasMaxLength(255) - .HasColumnName("open_access"); - - entity.Property(e => e.OriginalPublicationId) - .HasMaxLength(255) - .HasColumnName("original_publication_id"); - - entity.Property(e => e.OtherCollaboration).HasColumnName("other_collaboration"); - - entity.Property(e => e.PageNumberText) - .HasMaxLength(255) - .HasColumnName("page_number_text"); - - entity.Property(e => e.ParentPublicationName) - .HasMaxLength(4000) - .HasColumnName("parent_publication_name"); - - entity.Property(e => e.ParentPublicationPublisher) - .HasMaxLength(4000) - .HasColumnName("parent_publication_publisher"); - - entity.Property(e => e.ParentPublicationTypeCode).HasColumnName("parent_publication_type_code"); - - entity.Property(e => e.PeerReviewed).HasColumnName("peer_reviewed"); - - entity.Property(e => e.PublicationCountryCode).HasColumnName("publication_country_code"); - - entity.Property(e => e.PublicationId) - .HasMaxLength(255) - .HasColumnName("publication_id"); - - entity.Property(e => e.PublicationName) - .HasMaxLength(4000) - .HasColumnName("publication_name"); - - entity.Property(e => e.PublicationOrgId) - .HasMaxLength(255) - .HasColumnName("publication_org_id"); - - entity.Property(e => e.PublicationStatusCode).HasColumnName("publication_status_code"); - - entity.Property(e => e.PublicationTypeCode).HasColumnName("publication_type_code"); - - entity.Property(e => e.PublicationTypeCode2).HasColumnName("publication_type_code2"); - - entity.Property(e => e.PublicationYear).HasColumnName("publication_year"); - - entity.Property(e => e.PublisherLocation) - .HasMaxLength(255) - .HasColumnName("publisher_location"); - - entity.Property(e => e.PublisherName) - .HasMaxLength(4000) - .HasColumnName("publisher_name"); - - entity.Property(e => e.PublisherOpenAccessCode).HasColumnName("publisher_open_access_code"); - - entity.Property(e => e.Report).HasColumnName("report"); - - entity.Property(e => e.ReportingYear).HasColumnName("reporting_year"); - - entity.Property(e => e.SelfArchivedCode).HasColumnName("self_archived_code"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.SpecialStateSubsidy).HasColumnName("special_state_subsidy"); - - entity.Property(e => e.TargetAudienceCode).HasColumnName("target_audience_code"); - - entity.Property(e => e.ThesisTypeCode).HasColumnName("thesis_type_code"); - - entity.Property(e => e.Volume) - .HasMaxLength(255) - .HasColumnName("volume"); - - entity.HasOne(d => d.ArticleTypeCodeNavigation) - .WithMany(p => p.DimPublicationArticleTypeCodeNavigations) - .HasForeignKey(d => d.ArticleTypeCode) - .HasConstraintName("article_type_code"); - - entity.HasOne(d => d.DimPublicationChannel) - .WithMany(p => p.DimPublications) - .HasForeignKey(d => d.DimPublicationChannelId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("publication_channel"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimPublications) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_public896887"); - - entity.HasOne(d => d.JufoClassNavigation) - .WithMany(p => p.DimPublicationJufoClassNavigations) - .HasForeignKey(d => d.JufoClass) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("jufo_class"); - - entity.HasOne(d => d.LanguageCodeNavigation) - .WithMany(p => p.DimPublicationLanguageCodeNavigations) - .HasForeignKey(d => d.LanguageCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("language_code"); - - entity.HasOne(d => d.LicenseCodeNavigation) - .WithMany(p => p.DimPublicationLicenseCodeNavigations) - .HasForeignKey(d => d.LicenseCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("license_code"); - - entity.HasOne(d => d.ParentPublicationTypeCodeNavigation) - .WithMany(p => p.DimPublicationParentPublicationTypeCodeNavigations) - .HasForeignKey(d => d.ParentPublicationTypeCode) - .HasConstraintName("parent_publication_type_code"); - - entity.HasOne(d => d.PublicationCountryCodeNavigation) - .WithMany(p => p.DimPublicationPublicationCountryCodeNavigations) - .HasForeignKey(d => d.PublicationCountryCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("publication_country_code"); - - entity.HasOne(d => d.PublicationStatusCodeNavigation) - .WithMany(p => p.DimPublicationPublicationStatusCodeNavigations) - .HasForeignKey(d => d.PublicationStatusCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("publication_status_code"); - - entity.HasOne(d => d.PublicationTypeCodeNavigation) - .WithMany(p => p.DimPublicationPublicationTypeCodeNavigations) - .HasForeignKey(d => d.PublicationTypeCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("publication_type_code"); - - entity.HasOne(d => d.PublicationTypeCode2Navigation) - .WithMany(p => p.DimPublicationPublicationTypeCode2Navigations) - .HasForeignKey(d => d.PublicationTypeCode2) - .HasConstraintName("publication_type_code2"); - - entity.HasOne(d => d.PublisherOpenAccessCodeNavigation) - .WithMany(p => p.DimPublicationPublisherOpenAccessCodeNavigations) - .HasForeignKey(d => d.PublisherOpenAccessCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("publisher_open_access"); - - entity.HasOne(d => d.TargetAudienceCodeNavigation) - .WithMany(p => p.DimPublicationTargetAudienceCodeNavigations) - .HasForeignKey(d => d.TargetAudienceCode) - .HasConstraintName("target_audience_code"); - - entity.HasOne(d => d.ThesisTypeCodeNavigation) - .WithMany(p => p.DimPublicationThesisTypeCodeNavigations) - .HasForeignKey(d => d.ThesisTypeCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("thesis_type_code"); - - entity.HasMany(d => d.DimReferencedata) - .WithMany(p => p.DimPublications) - .UsingEntity>( - "BrArtpublicationTypecategory", - l => l.HasOne().WithMany().HasForeignKey("DimReferencedataid").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_artpubl101187"), - r => r.HasOne().WithMany().HasForeignKey("DimPublicationId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_artpubl464312"), - j => - { - j.HasKey("DimPublicationId", "DimReferencedataid").HasName("PK__br_artpu__879F18F38C6299C1"); - - j.ToTable("br_artpublication_typecategory"); - - j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id"); - - j.IndexerProperty("DimReferencedataid").HasColumnName("dim_referencedataid"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_publication_channel"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.ChannelNameAnylang) - .HasMaxLength(4000) - .HasColumnName("channel_name_anylang"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.JufoCode) - .HasMaxLength(255) - .HasColumnName("jufo_code"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.PublisherNameText) - .HasMaxLength(4000) - .HasColumnName("publisher_name_text"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_purpose"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimPurposes) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_purpos656541"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_referencedata"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.CodeScheme) - .HasMaxLength(511) - .HasColumnName("code_scheme"); - - entity.Property(e => e.CodeValue) - .HasMaxLength(511) - .HasColumnName("code_value"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimReferencedataId) - .HasColumnName("dim_referencedata_id") - .HasDefaultValueSql("((-1))"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.Order).HasColumnName("order"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.State) - .HasMaxLength(255) - .HasColumnName("state"); - - entity.HasOne(d => d.DimReferencedata) - .WithMany(p => p.InverseDimReferencedata) - .HasForeignKey(d => d.DimReferencedataId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FK_dim_referencedata_dim_referencedata"); - - entity.HasMany(d => d.DimPublicationsNavigation) - .WithMany(p => p.DimReferencedataNavigation) - .UsingEntity>( - "FactDimReferencedataFieldOfArt", - l => l.HasOne().WithMany().HasForeignKey("DimPublicationId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("field_of_art_code"), - r => r.HasOne().WithMany().HasForeignKey("DimReferencedataId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKfact_dim_r130466"), - j => - { - j.HasKey("DimReferencedataId", "DimPublicationId").HasName("PK__fact_dim__62A1BBCB4C5919F9"); - - j.ToTable("fact_dim_referencedata_field_of_art"); - - j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id"); - - j.IndexerProperty("DimPublicationId").HasColumnName("dim_publication_id"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_registered_data_source"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.Name) - .HasMaxLength(255) - .HasColumnName("name"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimRegisteredDataSources) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("data source of organisation"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_research_activity"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimCountryCode).HasColumnName("dim_country_code"); - - entity.Property(e => e.DimEndDate).HasColumnName("dim_end_date"); - - entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimPublicationChannelId).HasColumnName("dim_publication_channel_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimStartDate).HasColumnName("dim_start_date"); - - entity.Property(e => e.IndentifierlessTargetOrg) - .HasMaxLength(511) - .HasColumnName("indentifierless_target_org"); - - entity.Property(e => e.InternationalCollaboration).HasColumnName("international_collaboration"); - - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(400) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(400) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(400) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimCountryCodeNavigation) - .WithMany(p => p.DimResearchActivities) - .HasForeignKey(d => d.DimCountryCode) - .HasConstraintName("FKdim_resear758241"); - - entity.HasOne(d => d.DimEndDateNavigation) - .WithMany(p => p.DimResearchActivityDimEndDateNavigations) - .HasForeignKey(d => d.DimEndDate) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear682769"); - - entity.HasOne(d => d.DimEvent) - .WithMany(p => p.DimResearchActivities) - .HasForeignKey(d => d.DimEventId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("Activity Context "); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimResearchActivities) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear921843"); - - entity.HasOne(d => d.DimPublicationChannel) - .WithMany(p => p.DimResearchActivities) - .HasForeignKey(d => d.DimPublicationChannelId) - .HasConstraintName("FKdim_resear832055"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimResearchActivities) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear37345"); - - entity.HasOne(d => d.DimStartDateNavigation) - .WithMany(p => p.DimResearchActivityDimStartDateNavigations) - .HasForeignKey(d => d.DimStartDate) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear797546"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimResearchActivityId, e.DimKeywordId }) - .HasName("PK__dim_rese__F7B536BC16C738C6"); - - entity.ToTable("dim_research_activity_dim_keyword"); - - entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); - - entity.Property(e => e.DimKeywordId).HasColumnName("dim_keyword_id"); - - entity.HasOne(d => d.DimResearchActivity) - .WithMany(p => p.DimResearchActivityDimKeywords) - .HasForeignKey(d => d.DimResearchActivityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear970214"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_research_community"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Acronym) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("acronym"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(255) - .HasColumnName("name_und"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimResearchCommunities) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear59027"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_research_data_catalog"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn) - .HasMaxLength(4000) - .HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi) - .HasMaxLength(4000) - .HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv) - .HasMaxLength(4000) - .HasColumnName("description_sv"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_research_dataset"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DatasetCreated) - .HasColumnType("datetime") - .HasColumnName("dataset_created"); - - entity.Property(e => e.DatasetModified) - .HasColumnType("datetime") - .HasColumnName("dataset_modified"); - - entity.Property(e => e.DescriptionEn).HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi).HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv).HasColumnName("description_sv"); - - entity.Property(e => e.DescriptionUnd).HasColumnName("description_und"); - - entity.Property(e => e.DimReferencedataAvailability).HasColumnName("dim_referencedata_availability"); - - entity.Property(e => e.DimReferencedataLicense).HasColumnName("dim_referencedata_license"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); - - entity.Property(e => e.GeographicCoverage) - .HasMaxLength(4000) - .HasColumnName("geographic_coverage"); - - entity.Property(e => e.InternationalCollaboration).HasColumnName("international_collaboration"); - - entity.Property(e => e.LocalIdentifier) - .HasMaxLength(255) - .HasColumnName("local_identifier"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); - - entity.Property(e => e.NameUnd) - .HasMaxLength(4000) - .HasColumnName("name_und"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.TemporalCoverageEnd) - .HasColumnType("datetime") - .HasColumnName("temporal_coverage_end"); - - entity.Property(e => e.TemporalCoverageStart) - .HasColumnType("datetime") - .HasColumnName("temporal_coverage_start"); - - entity.Property(e => e.VersionInfo) - .HasMaxLength(255) - .HasColumnName("version_info"); - - entity.HasOne(d => d.DimReferencedataAvailabilityNavigation) - .WithMany(p => p.DimResearchDatasetDimReferencedataAvailabilityNavigations) - .HasForeignKey(d => d.DimReferencedataAvailability) - .HasConstraintName("Availibiity classes"); - - entity.HasOne(d => d.DimReferencedataLicenseNavigation) - .WithMany(p => p.DimResearchDatasetDimReferencedataLicenseNavigations) - .HasForeignKey(d => d.DimReferencedataLicense) - .HasConstraintName("License"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimResearchDatasets) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear76083"); - - entity.HasOne(d => d.DimResearchDataCatalog) - .WithMany(p => p.DimResearchDatasets) - .HasForeignKey(d => d.DimResearchDataCatalogId) - .HasConstraintName("FKdim_resear753411"); - - entity.HasMany(d => d.DimKeywords) - .WithMany(p => p.DimResearchDatasets) - .UsingEntity>( - "BrResearchDatasetDimKeyword", - l => l.HasOne().WithMany().HasForeignKey("DimKeywordId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_researc961356"), - r => r.HasOne().WithMany().HasForeignKey("DimResearchDatasetId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("dataset-keywords"), - j => - { - j.HasKey("DimResearchDatasetId", "DimKeywordId").HasName("PK__br_resea__4D226DF2E27EABBA"); - - j.ToTable("br_research_dataset_dim_keyword"); - - j.IndexerProperty("DimResearchDatasetId").HasColumnName("dim_research_dataset_id"); - - j.IndexerProperty("DimKeywordId").HasColumnName("dim_keyword_id"); - }); - - entity.HasMany(d => d.DimReferencedata) - .WithMany(p => p.DimResearchDatasets) - .UsingEntity>( - "BrLanguageCodesForDataset", - l => l.HasOne().WithMany().HasForeignKey("DimReferencedataId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_languag480770"), - r => r.HasOne().WithMany().HasForeignKey("DimResearchDatasetId").OnDelete(DeleteBehavior.ClientSetNull).HasConstraintName("FKbr_languag34243"), - j => - { - j.HasKey("DimResearchDatasetId", "DimReferencedataId").HasName("PK__br_langu__576647BFC61E3D4B"); - - j.ToTable("br_language_codes_for_datasets"); - - j.IndexerProperty("DimResearchDatasetId").HasColumnName("dim_research_dataset_id"); - - j.IndexerProperty("DimReferencedataId").HasColumnName("dim_referencedata_id"); - }); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_research_project"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.AbbrevationEn) - .HasMaxLength(4000) - .HasColumnName("abbrevation_en"); - - entity.Property(e => e.AbbrevationFi) - .HasMaxLength(4000) - .HasColumnName("abbrevation_fi") - .HasComment("Hanke - lyhenne"); - - entity.Property(e => e.AbbrevationSv) - .HasMaxLength(4000) - .HasColumnName("abbrevation_sv"); - - entity.Property(e => e.AdditionalInformationEn).HasColumnName("additional_information_en"); - - entity.Property(e => e.AdditionalInfromationFi) - .HasColumnName("additional_infromation_fi") - .HasComment("Hanke - lisätieto"); - - entity.Property(e => e.AddtitionalInformationSv).HasColumnName("addtitional_information_sv"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.EndDate) - .HasColumnName("end_date") - .HasComment("Hanke - päättymispäivämäärä"); - - entity.Property(e => e.GoalsEn).HasColumnName("goals_en"); - - entity.Property(e => e.GoalsFi).HasColumnName("goals_fi"); - - entity.Property(e => e.GoalsSv).HasColumnName("goals_sv"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi") - .HasComment("Hanke - nimi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); - - entity.Property(e => e.OutcomeEffectEn).HasColumnName("outcome_effect_en"); - - entity.Property(e => e.OutcomeEffectFi).HasColumnName("outcome_effect_fi"); - - entity.Property(e => e.OutcomeEffectSv).HasColumnName("outcome_effect_sv"); - - entity.Property(e => e.ResponsibleOrganization) - .HasColumnName("responsible_organization") - .HasComment("Hanke - vastuuorganisaatio"); - - entity.Property(e => e.ResponsiblePerson).HasColumnName("responsible_person"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.StartDate) - .HasColumnName("start_date") - .HasComment("Hanke - alkamispäivämäärä"); - - entity.Property(e => e.SummaryEn).HasColumnName("summary_en"); - - entity.Property(e => e.SummaryFi) - .HasColumnName("summary_fi") - .HasComment("Hanke - tiivistelmä"); - - entity.Property(e => e.SummarySv).HasColumnName("summary_sv"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimResearchProjects) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear450820"); - - entity.HasOne(d => d.EndDateNavigation) - .WithMany(p => p.DimResearchProjectEndDateNavigations) - .HasForeignKey(d => d.EndDate) - .HasConstraintName("FKdim_resear517343"); - - entity.HasOne(d => d.ResponsibleOrganizationNavigation) - .WithMany(p => p.DimResearchProjects) - .HasForeignKey(d => d.ResponsibleOrganization) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear741036"); - - entity.HasOne(d => d.ResponsiblePersonNavigation) - .WithMany(p => p.DimResearchProjects) - .HasForeignKey(d => d.ResponsiblePerson) - .HasConstraintName("FKdim_resear684392"); - - entity.HasOne(d => d.StartDateNavigation) - .WithMany(p => p.DimResearchProjectStartDateNavigations) - .HasForeignKey(d => d.StartDate) - .HasConstraintName("FKdim_resear246050"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_researcher_description"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionType).HasColumnName("description_type"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.ResearchDescriptionEn).HasColumnName("research_description_en"); - - entity.Property(e => e.ResearchDescriptionFi).HasColumnName("research_description_fi"); - - entity.Property(e => e.ResearchDescriptionSv).HasColumnName("research_description_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimResearcherDescriptions) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear662094"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimResearcherDescriptions) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear1848"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_researcher_to_research_community"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn) - .HasMaxLength(511) - .HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi) - .HasMaxLength(511) - .HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv) - .HasMaxLength(511) - .HasColumnName("description_sv"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); - - entity.Property(e => e.EndDate).HasColumnName("end_date"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.StartDate).HasColumnName("start_date"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimResearcherToResearchCommunities) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear255903"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimResearcherToResearchCommunities) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear408039"); - - entity.HasOne(d => d.DimResearchCommunity) - .WithMany(p => p.DimResearcherToResearchCommunities) - .HasForeignKey(d => d.DimResearchCommunityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear3824"); - - entity.HasOne(d => d.EndDateNavigation) - .WithMany(p => p.DimResearcherToResearchCommunityEndDateNavigations) - .HasForeignKey(d => d.EndDate) - .HasConstraintName("FKdim_resear658483"); - - entity.HasOne(d => d.StartDateNavigation) - .WithMany(p => p.DimResearcherToResearchCommunityStartDateNavigations) - .HasForeignKey(d => d.StartDate) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_resear612809"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_sector"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.SectorId) - .HasMaxLength(255) - .HasColumnName("sector_id"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_service"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Acronym) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("acronym"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("description_sv"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("name_sv"); - - entity.Property(e => e.ScientificDescriptionEn) - .HasMaxLength(4000) - .HasColumnName("scientific_description_en"); - - entity.Property(e => e.ScientificDescriptionFi) - .HasMaxLength(4000) - .HasColumnName("scientific_description_fi"); - - entity.Property(e => e.ScientificDescriptionSv) - .HasMaxLength(4000) - .HasColumnName("scientific_description_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Type) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("type"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_service_point"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DescriptionEn) - .HasMaxLength(4000) - .HasColumnName("description_en"); - - entity.Property(e => e.DescriptionFi) - .HasMaxLength(4000) - .HasColumnName("description_fi"); - - entity.Property(e => e.DescriptionSv) - .HasMaxLength(4000) - .HasColumnName("description_sv"); - - entity.Property(e => e.Email) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("email"); - - entity.Property(e => e.LinkAccessPolicyEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("link_access_policy_en"); - - entity.Property(e => e.LinkAccessPolicyFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("link_access_policy_fi"); - - entity.Property(e => e.LinkAccessPolicySv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("link_access_policy_sv"); - - entity.Property(e => e.LinkAdditionalInfoEn) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("link_additional_info_en"); - - entity.Property(e => e.LinkAdditionalInfoFi) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("link_additional_info_fi"); - - entity.Property(e => e.LinkAdditionalInfoSv) - .HasMaxLength(4000) - .IsUnicode(false) - .HasColumnName("link_additional_info_sv"); - - entity.Property(e => e.LinkInternationalInfra) - .HasMaxLength(4000) - .HasColumnName("link_international_infra"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(4000) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(4000) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(4000) - .HasColumnName("name_sv"); - - entity.Property(e => e.Phone) - .HasMaxLength(255) - .IsUnicode(false) - .HasColumnName("phone"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.VisitingAddress) - .HasMaxLength(4000) - .HasColumnName("visiting_address"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_telephone_number"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.TelephoneNumber) - .HasMaxLength(255) - .HasColumnName("telephone_number"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimTelephoneNumbers) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_teleph963809"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimTelephoneNumbers) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_teleph299867"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_type_of_funding"); - - entity.HasIndex(e => e.TypeId, "UQ__dim_type__2C000599C4DA9E9E") - .IsUnique(); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimTypeOfFundingId).HasColumnName("dim_type_of_funding_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.NameEn) - .HasMaxLength(255) - .HasColumnName("name_en"); - - entity.Property(e => e.NameFi) - .HasMaxLength(255) - .HasColumnName("name_fi"); - - entity.Property(e => e.NameSv) - .HasMaxLength(255) - .HasColumnName("name_sv"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.TypeId) - .HasMaxLength(255) - .HasColumnName("type_id"); - - entity.HasOne(d => d.DimTypeOfFundingNavigation) - .WithMany(p => p.InverseDimTypeOfFundingNavigation) - .HasForeignKey(d => d.DimTypeOfFundingId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("part of "); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_user_choices"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimReferencedataIdAsUserChoiceLabel).HasColumnName("dim_referencedata_id_as_user_choice_label"); - - entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.UserChoiceValue).HasColumnName("user_choice_value"); - - entity.HasOne(d => d.DimReferencedataIdAsUserChoiceLabelNavigation) - .WithMany(p => p.DimUserChoices) - .HasForeignKey(d => d.DimReferencedataIdAsUserChoiceLabel) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("user_selection_label"); - - entity.HasOne(d => d.DimUserProfile) - .WithMany(p => p.DimUserChoices) - .HasForeignKey(d => d.DimUserProfileId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_user_c733293"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_user_profile"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.AllowAllSubscriptions).HasColumnName("allow_all_subscriptions"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.Hidden).HasColumnName("hidden"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.OrcidAccessToken) - .HasMaxLength(255) - .HasColumnName("orcid_access_token"); - - entity.Property(e => e.OrcidId) - .HasMaxLength(20) - .HasColumnName("orcid_id"); - - entity.Property(e => e.OrcidRefreshToken) - .HasMaxLength(255) - .HasColumnName("orcid_refresh_token"); - - entity.Property(e => e.OrcidTokenExpires) - .HasColumnType("datetime") - .HasColumnName("orcid_token_expires"); - - entity.Property(e => e.OrcidTokenScope) - .HasMaxLength(255) - .HasColumnName("orcid_token_scope"); - - entity.Property(e => e.PublishNewOrcidData).HasColumnName("publish_new_orcid_data"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Statuscode).HasColumnName("statuscode"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimUserProfiles) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKdim_user_p611467"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_web_link"); - - entity.Property(e => e.Id).HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.DimCallProgrammeId).HasColumnName("dim_call_programme_id"); - - entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimProfileOnlyDatasetId).HasColumnName("dim_profile_only_dataset_id"); - - entity.Property(e => e.DimProfileOnlyFundingDecisionId).HasColumnName("dim_profile_only_funding_decision_id"); - - entity.Property(e => e.DimProfileOnlyResearchActivityId).HasColumnName("dim_profile_only_research_activity_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); - - entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); - - entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); - - entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); - - entity.Property(e => e.DimResearchProjectId).HasColumnName("dim_research_project_id"); - - entity.Property(e => e.LanguageVariant) - .HasMaxLength(255) - .HasColumnName("language_variant"); - - entity.Property(e => e.LinkLabel) - .HasMaxLength(255) - .HasColumnName("link_label"); - - entity.Property(e => e.LinkType) - .HasMaxLength(255) - .HasColumnName("link_type"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.Property(e => e.Url) - .HasMaxLength(511) - .HasColumnName("url"); - - entity.HasOne(d => d.DimCallProgramme) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimCallProgrammeId) - .HasConstraintName("call homepage"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimFundingDecisionId) - .HasConstraintName("FKdim_web_li388345"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimKnownPersonId) - .HasConstraintName("web presence"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimOrganizationId) - .HasConstraintName("language specific homepage"); - - entity.HasOne(d => d.DimProfileOnlyDataset) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimProfileOnlyDatasetId) - .HasConstraintName("FKdim_web_li121209"); - - entity.HasOne(d => d.DimProfileOnlyFundingDecision) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimProfileOnlyFundingDecisionId) - .HasConstraintName("FKdim_web_li251700"); - - entity.HasOne(d => d.DimProfileOnlyResearchActivity) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimProfileOnlyResearchActivityId) - .HasConstraintName("weblink"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .HasConstraintName("FKdim_web_regdatasource"); - - entity.HasOne(d => d.DimResearchActivity) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimResearchActivityId) - .HasConstraintName("FKdim_web_li272158"); - - entity.HasOne(d => d.DimResearchCommunity) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimResearchCommunityId) - .HasConstraintName("FKdim_web_li827668"); - - entity.HasOne(d => d.DimResearchDataCatalog) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimResearchDataCatalogId) - .HasConstraintName("FKdim_web_li597610"); - - entity.HasOne(d => d.DimResearchDataset) - .WithMany(p => p.DimWebLinks) - .HasForeignKey(d => d.DimResearchDatasetId) - .HasConstraintName("fairdata_weblink"); - }); - - modelBuilder.Entity(entity => - { - entity.ToTable("dim_word_cluster"); - - entity.Property(e => e.Id) - .ValueGeneratedNever() - .HasColumnName("id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimFundingDecisionId, e.DimOrganizationId, e.DimDateId, e.DimNameId, e.DimPublicationId, e.DimGeoId, e.DimInfrastructureId, e.DimNewsFeedId, e.DimResearchDatasetId, e.DimResearchDataCatalogId, e.DimIdentifierlessDataId, e.DimResearchActivityId, e.DimResearchCommunityId, e.DimReferencedataActorRoleId, e.DimResearchProjectId }) - .HasName("PK__fact_con__7D4857055BA7D7F9"); - - entity.ToTable("fact_contribution"); - - entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimDateId).HasColumnName("dim_date_id"); - - entity.Property(e => e.DimNameId).HasColumnName("dim_name_id"); - - entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); - - entity.Property(e => e.DimGeoId).HasColumnName("dim_geo_id"); - - entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); - - entity.Property(e => e.DimNewsFeedId).HasColumnName("dim_news_feed_id"); - - entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); - - entity.Property(e => e.DimResearchDataCatalogId).HasColumnName("dim_research_data_catalog_id"); - - entity.Property(e => e.DimIdentifierlessDataId).HasColumnName("dim_identifierless_data_id"); - - entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); - - entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); - - entity.Property(e => e.DimReferencedataActorRoleId).HasColumnName("dim_referencedata_actor_role_id"); - - entity.Property(e => e.DimResearchProjectId) - .HasColumnName("dim_research_project_id") - .HasDefaultValueSql("('-1')"); - - entity.Property(e => e.ContributionType) - .HasMaxLength(50) - .HasColumnName("contribution_type"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimDate) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimDateId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr224183"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimFundingDecisionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr321314"); - - entity.HasOne(d => d.DimGeo) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimGeoId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr711408"); - - entity.HasOne(d => d.DimIdentifierlessData) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimIdentifierlessDataId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr276794"); - - entity.HasOne(d => d.DimInfrastructure) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimInfrastructureId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr565219"); - - entity.HasOne(d => d.DimName) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimNameId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr288640"); - - entity.HasOne(d => d.DimNewsFeed) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimNewsFeedId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr632925"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr42449"); - - entity.HasOne(d => d.DimPublication) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimPublicationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr481795"); - - entity.HasOne(d => d.DimReferencedataActorRole) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimReferencedataActorRoleId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr466649"); - - entity.HasOne(d => d.DimResearchActivity) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimResearchActivityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("activity - person -affiliation AND activity - funding decision "); - - entity.HasOne(d => d.DimResearchCommunity) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimResearchCommunityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr434262"); - - entity.HasOne(d => d.DimResearchDataCatalog) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimResearchDataCatalogId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_contr859541"); - - entity.HasOne(d => d.DimResearchDataset) - .WithMany(p => p.FactContributions) - .HasForeignKey(d => d.DimResearchDatasetId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("authors, infras, publications, funding decisions"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimReferencedataId, e.DimResearchDatasetId, e.DimKnownPersonId, e.DimPublicationId, e.DimResearchActivityId, e.DimFundingDecisionId, e.DimInfrastructureId }) - .HasName("PK__fact_dim__3CB15DD379EDCB7E"); - - entity.ToTable("fact_dim_referencedata_field_of_science"); - - entity.Property(e => e.DimReferencedataId).HasColumnName("dim_referencedata_id"); - - entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); - - entity.Property(e => e.DimKnownPersonId).HasColumnName("dim_known_person_id"); - - entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); - - entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); - - entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); - - entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.FactDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimFundingDecisionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_dim_r41359"); - - entity.HasOne(d => d.DimInfrastructure) - .WithMany(p => p.FactDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimInfrastructureId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_dim_r956301"); - - entity.HasOne(d => d.DimKnownPerson) - .WithMany(p => p.FactDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimKnownPersonId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName(" "); - - entity.HasOne(d => d.DimPublication) - .WithMany(p => p.FactDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimPublicationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_dim_r127122"); - - entity.HasOne(d => d.DimReferencedata) - .WithMany(p => p.FactDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimReferencedataId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_dim_r588766"); - - entity.HasOne(d => d.DimResearchDataset) - .WithMany(p => p.FactDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimResearchDatasetId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_dim_r926246"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimUserProfileId, e.DimFieldDisplaySettingsId, e.DimNameId, e.DimWebLinkId, e.DimFundingDecisionId, e.DimPublicationId, e.DimPidId, e.DimPidIdOrcidPutCode, e.DimResearchActivityId, e.DimEventId, e.DimEducationId, e.DimCompetenceId, e.DimResearchCommunityId, e.DimTelephoneNumberId, e.DimEmailAddrressId, e.DimResearcherDescriptionId, e.DimIdentifierlessDataId, e.DimProfileOnlyPublicationId, e.DimProfileOnlyResearchActivityId, e.DimKeywordId, e.DimAffiliationId, e.DimResearcherToResearchCommunityId, e.DimReferencedataFieldOfScienceId, e.DimResearchDatasetId, e.DimRegisteredDataSourceId, e.DimReferencedataActorRoleId, e.DimProfileOnlyDatasetId, e.DimProfileOnlyFundingDecisionId }); - - entity.ToTable("fact_field_values"); - - entity.Property(e => e.DimUserProfileId).HasColumnName("dim_user_profile_id"); - - entity.Property(e => e.DimFieldDisplaySettingsId).HasColumnName("dim_field_display_settings_id"); - - entity.Property(e => e.DimNameId).HasColumnName("dim_name_id"); - - entity.Property(e => e.DimWebLinkId).HasColumnName("dim_web_link_id"); - - entity.Property(e => e.DimFundingDecisionId).HasColumnName("dim_funding_decision_id"); - - entity.Property(e => e.DimPublicationId).HasColumnName("dim_publication_id"); - - entity.Property(e => e.DimPidId).HasColumnName("dim_pid_id"); - - entity.Property(e => e.DimPidIdOrcidPutCode).HasColumnName("dim_pid_id_orcid_put_code"); - - entity.Property(e => e.DimResearchActivityId).HasColumnName("dim_research_activity_id"); - - entity.Property(e => e.DimEventId).HasColumnName("dim_event_id"); - - entity.Property(e => e.DimEducationId).HasColumnName("dim_education_id"); - - entity.Property(e => e.DimCompetenceId).HasColumnName("dim_competence_id"); - - entity.Property(e => e.DimResearchCommunityId).HasColumnName("dim_research_community_id"); - - entity.Property(e => e.DimTelephoneNumberId).HasColumnName("dim_telephone_number_id"); - - entity.Property(e => e.DimEmailAddrressId).HasColumnName("dim_email_addrress_id"); - - entity.Property(e => e.DimResearcherDescriptionId).HasColumnName("dim_researcher_description_id"); - - entity.Property(e => e.DimIdentifierlessDataId).HasColumnName("dim_identifierless_data_id"); - - entity.Property(e => e.DimProfileOnlyPublicationId).HasColumnName("dim_profile_only_publication_id"); - - entity.Property(e => e.DimProfileOnlyResearchActivityId).HasColumnName("dim_profile_only_research_activity_id"); - - entity.Property(e => e.DimKeywordId).HasColumnName("dim_keyword_id"); - - entity.Property(e => e.DimAffiliationId).HasColumnName("dim_affiliation_id"); - - entity.Property(e => e.DimResearcherToResearchCommunityId).HasColumnName("dim_researcher_to_research_community_id"); - - entity.Property(e => e.DimReferencedataFieldOfScienceId).HasColumnName("dim_referencedata_field_of_science_id"); - - entity.Property(e => e.DimResearchDatasetId).HasColumnName("dim_research_dataset_id"); - - entity.Property(e => e.DimRegisteredDataSourceId).HasColumnName("dim_registered_data_source_id"); - - entity.Property(e => e.DimReferencedataActorRoleId).HasColumnName("dim_referencedata_actor_role_id"); - - entity.Property(e => e.DimProfileOnlyDatasetId).HasColumnName("dim_profile_only_dataset_id"); - - entity.Property(e => e.DimProfileOnlyFundingDecisionId).HasColumnName("dim_profile_only_funding_decision_id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.PrimaryValue).HasColumnName("primary_value"); - - entity.Property(e => e.Show).HasColumnName("show"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimAffiliation) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimAffiliationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field816276"); - - entity.HasOne(d => d.DimCompetence) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimCompetenceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field746305"); - - entity.HasOne(d => d.DimEducation) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimEducationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field445913"); - - entity.HasOne(d => d.DimEmailAddrress) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimEmailAddrressId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field507571"); - - entity.HasOne(d => d.DimEvent) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimEventId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field645906"); - - entity.HasOne(d => d.DimFieldDisplaySettings) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimFieldDisplaySettingsId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("field content settings"); - - entity.HasOne(d => d.DimFundingDecision) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimFundingDecisionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field5141"); - - entity.HasOne(d => d.DimIdentifierlessData) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimIdentifierlessDataId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field39379"); - - entity.HasOne(d => d.DimKeyword) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimKeywordId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field786713"); - - entity.HasOne(d => d.DimName) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimNameId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field604813"); - - entity.HasOne(d => d.DimPid) - .WithMany(p => p.FactFieldValueDimPids) - .HasForeignKey(d => d.DimPidId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field989816"); - - entity.HasOne(d => d.DimPidIdOrcidPutCodeNavigation) - .WithMany(p => p.FactFieldValueDimPidIdOrcidPutCodeNavigations) - .HasForeignKey(d => d.DimPidIdOrcidPutCode) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("orcid_put_code"); - - entity.HasOne(d => d.DimProfileOnlyDataset) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimProfileOnlyDatasetId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field456895"); - - entity.HasOne(d => d.DimProfileOnlyFundingDecision) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimProfileOnlyFundingDecisionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field141786"); - - entity.HasOne(d => d.DimProfileOnlyPublication) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimProfileOnlyPublicationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field692932"); - - entity.HasOne(d => d.DimProfileOnlyResearchActivity) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimProfileOnlyResearchActivityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field671081"); - - entity.HasOne(d => d.DimPublication) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimPublicationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("displayed publications"); - - entity.HasOne(d => d.DimReferencedataActorRole) - .WithMany(p => p.FactFieldValueDimReferencedataActorRoles) - .HasForeignKey(d => d.DimReferencedataActorRoleId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("actor role"); - - entity.HasOne(d => d.DimReferencedataFieldOfScience) - .WithMany(p => p.FactFieldValueDimReferencedataFieldOfSciences) - .HasForeignKey(d => d.DimReferencedataFieldOfScienceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field192234"); - - entity.HasOne(d => d.DimRegisteredDataSource) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimRegisteredDataSourceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field346220"); - - entity.HasOne(d => d.DimResearchActivity) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimResearchActivityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field878671"); - - entity.HasOne(d => d.DimResearchCommunity) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimResearchCommunityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field750435"); - - entity.HasOne(d => d.DimResearchDataset) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimResearchDatasetId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field998843"); - - entity.HasOne(d => d.DimResearcherDescription) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimResearcherDescriptionId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field76121"); - - entity.HasOne(d => d.DimResearcherToResearchCommunity) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimResearcherToResearchCommunityId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field377489"); - - entity.HasOne(d => d.DimTelephoneNumber) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimTelephoneNumberId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field995052"); - - entity.HasOne(d => d.DimUserProfile) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimUserProfileId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field936263"); - - entity.HasOne(d => d.DimWebLink) - .WithMany(p => p.FactFieldValues) - .HasForeignKey(d => d.DimWebLinkId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_field475402"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimKeywordId, e.DimServiceId, e.DimServicePointId, e.DimInfrastructureId }) - .HasName("PK__fact_inf__3C29B6806204C32C"); - - entity.ToTable("fact_infra_keywords"); - - entity.Property(e => e.DimKeywordId).HasColumnName("dim_keyword_id"); - - entity.Property(e => e.DimServiceId).HasColumnName("dim_service_id"); - - entity.Property(e => e.DimServicePointId).HasColumnName("dim_service_point_id"); - - entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimInfrastructure) - .WithMany(p => p.FactInfraKeywords) - .HasForeignKey(d => d.DimInfrastructureId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_infra800296"); - - entity.HasOne(d => d.DimKeyword) - .WithMany(p => p.FactInfraKeywords) - .HasForeignKey(d => d.DimKeywordId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_infra76615"); - - entity.HasOne(d => d.DimService) - .WithMany(p => p.FactInfraKeywords) - .HasForeignKey(d => d.DimServiceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_infra505599"); - - entity.HasOne(d => d.DimServicePoint) - .WithMany(p => p.FactInfraKeywords) - .HasForeignKey(d => d.DimServicePointId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_infra619117"); - }); - - modelBuilder.Entity(entity => - { - entity.HasKey(e => new { e.DimOrganizationId, e.DimGeoId, e.DimInfrastructureId, e.DimServiceId, e.DimServicePointId, e.DimDateIdStart, e.DimDateIdEnd }) - .HasName("PK__fact_upk__850A8E300A3C70B3"); - - entity.ToTable("fact_upkeep"); - - entity.Property(e => e.DimOrganizationId).HasColumnName("dim_organization_id"); - - entity.Property(e => e.DimGeoId).HasColumnName("dim_geo_id"); - - entity.Property(e => e.DimInfrastructureId).HasColumnName("dim_infrastructure_id"); - - entity.Property(e => e.DimServiceId).HasColumnName("dim_service_id"); - - entity.Property(e => e.DimServicePointId).HasColumnName("dim_service_point_id"); - - entity.Property(e => e.DimDateIdStart).HasColumnName("dim_date_id_start"); - - entity.Property(e => e.DimDateIdEnd).HasColumnName("dim_date_id_end"); - - entity.Property(e => e.Created) - .HasColumnType("datetime") - .HasColumnName("created"); - - entity.Property(e => e.Modified) - .HasColumnType("datetime") - .HasColumnName("modified"); - - entity.Property(e => e.SourceDescription) - .HasMaxLength(255) - .HasColumnName("source_description"); - - entity.Property(e => e.SourceId) - .HasMaxLength(255) - .HasColumnName("source_id"); - - entity.HasOne(d => d.DimDateIdEndNavigation) - .WithMany(p => p.FactUpkeepDimDateIdEndNavigations) - .HasForeignKey(d => d.DimDateIdEnd) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee332759"); - - entity.HasOne(d => d.DimDateIdStartNavigation) - .WithMany(p => p.FactUpkeepDimDateIdStartNavigations) - .HasForeignKey(d => d.DimDateIdStart) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee283512"); - - entity.HasOne(d => d.DimGeo) - .WithMany(p => p.FactUpkeeps) - .HasForeignKey(d => d.DimGeoId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee520794"); - - entity.HasOne(d => d.DimInfrastructure) - .WithMany(p => p.FactUpkeeps) - .HasForeignKey(d => d.DimInfrastructureId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee374605"); - - entity.HasOne(d => d.DimOrganization) - .WithMany(p => p.FactUpkeeps) - .HasForeignKey(d => d.DimOrganizationId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee851834"); - - entity.HasOne(d => d.DimService) - .WithMany(p => p.FactUpkeeps) - .HasForeignKey(d => d.DimServiceId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee302288"); - - entity.HasOne(d => d.DimServicePoint) - .WithMany(p => p.FactUpkeeps) - .HasForeignKey(d => d.DimServicePointId) - .OnDelete(DeleteBehavior.ClientSetNull) - .HasConstraintName("FKfact_upkee415806"); - }); - - OnModelCreatingPartial(modelBuilder); - } - - partial void OnModelCreatingPartial(ModelBuilder modelBuilder); - } + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); } diff --git a/aspnetcore/src/DatabaseContext/DatabaseContext.csproj b/aspnetcore/src/DatabaseContext/DatabaseContext.csproj index 8b04dae..741df34 100644 --- a/aspnetcore/src/DatabaseContext/DatabaseContext.csproj +++ b/aspnetcore/src/DatabaseContext/DatabaseContext.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable CSC.PublicApi.$(MSBuildProjectName.Replace(" ", "_")) @@ -9,15 +9,15 @@ - - - + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - + + + diff --git a/aspnetcore/src/DatabaseContext/Entities/BrDatasetDatasetRelationship.cs b/aspnetcore/src/DatabaseContext/Entities/BrDatasetDatasetRelationship.cs index 15f48b9..f3995a8 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrDatasetDatasetRelationship.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrDatasetDatasetRelationship.cs @@ -1,15 +1,17 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrDatasetDatasetRelationship - { - public int DimResearchDatasetId { get; set; } - public int DimResearchDatasetId2 { get; set; } - public string? Type { get; set; } - - public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; - public virtual DimResearchDataset DimResearchDatasetId2Navigation { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrDatasetDatasetRelationship +{ + public int DimResearchDatasetId { get; set; } + + public int DimResearchDatasetId2 { get; set; } + + public string? Type { get; set; } + + public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; + + public virtual DimResearchDataset DimResearchDatasetId2Navigation { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/BrFundingConsortiumParticipation.cs b/aspnetcore/src/DatabaseContext/Entities/BrFundingConsortiumParticipation.cs index a8fa9fa..addcb72 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrFundingConsortiumParticipation.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrFundingConsortiumParticipation.cs @@ -1,17 +1,21 @@ -using System; -using System.Collections.Generic; +using System; +using System.Collections.Generic; -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrFundingConsortiumParticipation - { - public int DimFundingDecisionId { get; set; } - public int DimOrganizationid { get; set; } - public string? RoleInConsortium { get; set; } - public decimal? ShareOfFundingInEur { get; set; } - public bool? EndOfParticipation { get; set; } +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrFundingConsortiumParticipation +{ + public int DimFundingDecisionId { get; set; } - public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - } -} + public int DimOrganizationid { get; set; } + + public string? RoleInConsortium { get; set; } + + public decimal? ShareOfFundingInEur { get; set; } + + public bool? EndOfParticipation { get; set; } + + public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/BrGrantedPermission.cs b/aspnetcore/src/DatabaseContext/Entities/BrGrantedPermission.cs index 726564a..4a26e21 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrGrantedPermission.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrGrantedPermission.cs @@ -1,16 +1,19 @@ -using System; -using System.Collections.Generic; +using System; +using System.Collections.Generic; -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrGrantedPermission - { - public int DimUserProfileId { get; set; } - public int DimExternalServiceId { get; set; } - public int DimPermittedFieldGroup { get; set; } +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrGrantedPermission +{ + public int DimUserProfileId { get; set; } - public virtual DimPurpose DimExternalService { get; set; } = null!; - public virtual DimReferencedatum DimPermittedFieldGroupNavigation { get; set; } = null!; - public virtual DimUserProfile DimUserProfile { get; set; } = null!; - } -} + public int DimExternalServiceId { get; set; } + + public int DimPermittedFieldGroup { get; set; } + + public virtual DimPurpose DimExternalService { get; set; } = null!; + + public virtual DimReferencedatum DimPermittedFieldGroupNavigation { get; set; } = null!; + + public virtual DimUserProfile DimUserProfile { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/BrParticipatesInFundingGroup.cs b/aspnetcore/src/DatabaseContext/Entities/BrParticipatesInFundingGroup.cs index ade9d60..a52ec13 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrParticipatesInFundingGroup.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrParticipatesInFundingGroup.cs @@ -1,20 +1,27 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrParticipatesInFundingGroup - { - public int DimFundingDecisionid { get; set; } - public int DimNameId { get; set; } - public int DimOrganizationId { get; set; } - public string? RoleInFundingGroup { get; set; } - public decimal? ShareOfFundingInEur { get; set; } - public string? SourceId { get; set; } - public bool? EndOfParticipation { get; set; } - - public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; - public virtual DimName DimName { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrParticipatesInFundingGroup +{ + public int DimFundingDecisionid { get; set; } + + public int DimNameId { get; set; } + + public int DimOrganizationId { get; set; } + + public string? RoleInFundingGroup { get; set; } + + public decimal? ShareOfFundingInEur { get; set; } + + public string? SourceId { get; set; } + + public bool? EndOfParticipation { get; set; } + + public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; + + public virtual DimName DimName { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/BrServiceSubscription.cs b/aspnetcore/src/DatabaseContext/Entities/BrServiceSubscription.cs index 838e81e..d996639 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrServiceSubscription.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrServiceSubscription.cs @@ -1,14 +1,15 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrServiceSubscription - { - public int DimUserProfileId { get; set; } - public int DimExternalServiceId { get; set; } - - public virtual DimExternalService DimExternalService { get; set; } = null!; - public virtual DimUserProfile DimUserProfile { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrServiceSubscription +{ + public int DimUserProfileId { get; set; } + + public int DimExternalServiceId { get; set; } + + public virtual DimExternalService DimExternalService { get; set; } = null!; + + public virtual DimUserProfile DimUserProfile { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/BrWordClusterDimFundingDecision.cs b/aspnetcore/src/DatabaseContext/Entities/BrWordClusterDimFundingDecision.cs index 5a5f483..5275252 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrWordClusterDimFundingDecision.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrWordClusterDimFundingDecision.cs @@ -1,18 +1,23 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrWordClusterDimFundingDecision - { - public int DimWordClusterId { get; set; } - public int DimFundingDecisionId { get; set; } - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string SourceId { get; set; } = null!; - - public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; - public virtual DimWordCluster DimWordCluster { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrWordClusterDimFundingDecision +{ + public int DimWordClusterId { get; set; } + + public int DimFundingDecisionId { get; set; } + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string SourceId { get; set; } = null!; + + public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; + + public virtual DimWordCluster DimWordCluster { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/BrWordsDefineACluster.cs b/aspnetcore/src/DatabaseContext/Entities/BrWordsDefineACluster.cs index 12292af..0749579 100644 --- a/aspnetcore/src/DatabaseContext/Entities/BrWordsDefineACluster.cs +++ b/aspnetcore/src/DatabaseContext/Entities/BrWordsDefineACluster.cs @@ -1,18 +1,23 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class BrWordsDefineACluster - { - public int DimMinedWordsId { get; set; } - public int DimWordClusterId { get; set; } - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string SourceId { get; set; } = null!; - - public virtual DimMinedWord DimMinedWords { get; set; } = null!; - public virtual DimWordCluster DimWordCluster { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class BrWordsDefineACluster +{ + public int DimMinedWordsId { get; set; } + + public int DimWordClusterId { get; set; } + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string SourceId { get; set; } = null!; + + public virtual DimMinedWord DimMinedWords { get; set; } = null!; + + public virtual DimWordCluster DimWordCluster { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimAffiliation.cs b/aspnetcore/src/DatabaseContext/Entities/DimAffiliation.cs index a6803e9..5c2158f 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimAffiliation.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimAffiliation.cs @@ -1,40 +1,57 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimAffiliation - { - public DimAffiliation() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int DimKnownPersonId { get; set; } - public int DimOrganizationId { get; set; } - public int StartDate { get; set; } - public int? EndDate { get; set; } - public int? PositionCode { get; set; } - public string? PositionNameFi { get; set; } - public string? PositionNameEn { get; set; } - public string? PositionNameSv { get; set; } - public string? SourceDescription { get; set; } - public string SourceId { get; set; } = null!; - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public string? LocalIdentifier { get; set; } - public string? AffiliationTypeFi { get; set; } - public string? AffiliationTypeEn { get; set; } - public string? AffiliationTypeSv { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimDate? EndDateNavigation { get; set; } - public virtual DimReferencedatum? PositionCodeNavigation { get; set; } - public virtual DimDate StartDateNavigation { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimAffiliation +{ + public int Id { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimOrganizationId { get; set; } + + public int StartDate { get; set; } + + public int? EndDate { get; set; } + + public int? PositionCode { get; set; } + + public string? PositionNameFi { get; set; } + + public string? PositionNameEn { get; set; } + + public string? PositionNameSv { get; set; } + + public string? SourceDescription { get; set; } + + public string SourceId { get; set; } = null!; + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public string? LocalIdentifier { get; set; } + + public string? AffiliationTypeFi { get; set; } + + public string? AffiliationTypeEn { get; set; } + + public string? AffiliationTypeSv { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimDate? EndDateNavigation { get; set; } + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual DimReferencedatum? PositionCodeNavigation { get; set; } + + public virtual DimDate StartDateNavigation { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimCallDecision.cs b/aspnetcore/src/DatabaseContext/Entities/DimCallDecision.cs index 0cc46ed..664429b 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimCallDecision.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimCallDecision.cs @@ -1,32 +1,35 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - /// - /// Rahoituspäätöspaneeli - /// - public partial class DimCallDecision - { - public DimCallDecision() - { - DimFundingDecisions = new HashSet(); - } - - public int Id { get; set; } - public int DecisionMaker { get; set; } - public int DimDateIdApproval { get; set; } - public int DimCallProgrammeId { get; set; } - /// - /// Rahoituspäätöspaneeli - Haun vaihe - /// - public string CallProcessingPhase { get; set; } = null!; - public string? SourceId { get; set; } - public string? SourceDescription { get; set; } - - public virtual DimReferencedatum DecisionMakerNavigation { get; set; } = null!; - public virtual DimCallProgramme DimCallProgramme { get; set; } = null!; - public virtual DimDate DimDateIdApprovalNavigation { get; set; } = null!; - public virtual ICollection DimFundingDecisions { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +/// +/// Rahoituspäätöspaneeli +/// +public partial class DimCallDecision +{ + public int Id { get; set; } + + public int DecisionMaker { get; set; } + + public int DimDateIdApproval { get; set; } + + public int DimCallProgrammeId { get; set; } + + /// + /// Rahoituspäätöspaneeli - Haun vaihe + /// + public string CallProcessingPhase { get; set; } = null!; + + public string? SourceId { get; set; } + + public string? SourceDescription { get; set; } + + public virtual DimReferencedatum DecisionMakerNavigation { get; set; } = null!; + + public virtual DimCallProgramme DimCallProgramme { get; set; } = null!; + + public virtual DimDate DimDateIdApprovalNavigation { get; set; } = null!; + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimCallProgramme.cs b/aspnetcore/src/DatabaseContext/Entities/DimCallProgramme.cs index 06a3858..1d6bd2f 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimCallProgramme.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimCallProgramme.cs @@ -1,69 +1,97 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimCallProgramme - { - public DimCallProgramme() - { - DimCallDecisions = new HashSet(); - DimFundingDecisions = new HashSet(); - DimProfileOnlyFundingDecisions = new HashSet(); - DimWebLinks = new HashSet(); - InverseDimCallProgrammeNavigation = new HashSet(); - DimCallProgrammeId2s = new HashSet(); - DimCallProgrammes = new HashSet(); - DimOrganizations = new HashSet(); - DimReferencedata = new HashSet(); - } - - public int Id { get; set; } - public int DimDateIdDue { get; set; } - public int DimDateIdOpen { get; set; } - public TimeSpan? DueDateDueTime { get; set; } - public string? Abbreviation { get; set; } - public string? EuCallId { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int? DimCallProgrammeId { get; set; } - public string? SourceProgrammeId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string? ApplicationTermsFi { get; set; } - public string? ApplicationTermsSv { get; set; } - public string? ApplicationTermsEn { get; set; } - public string? ContactInformation { get; set; } - public bool? ContinuousApplicationPeriod { get; set; } - public bool IsOpenCall { get; set; } - public string? CallNameDetailsFi { get; set; } - public string? CallNameDetailsEn { get; set; } - public string? CallNameDetailsSv { get; set; } - public string? LocalIdentifier { get; set; } - public int? TypeOfFunding { get; set; } - - public virtual DimCallProgramme? DimCallProgrammeNavigation { get; set; } - public virtual DimDate DimDateIdDueNavigation { get; set; } = null!; - public virtual DimDate DimDateIdOpenNavigation { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimReferencedatum? TypeOfFundingNavigation { get; set; } - public virtual ICollection DimCallDecisions { get; set; } - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection InverseDimCallProgrammeNavigation { get; set; } - - public virtual ICollection DimCallProgrammeId2s { get; set; } - public virtual ICollection DimCallProgrammes { get; set; } - public virtual ICollection DimOrganizations { get; set; } - public virtual ICollection DimReferencedata { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimCallProgramme +{ + public int Id { get; set; } + + public int DimDateIdDue { get; set; } + + public int DimDateIdOpen { get; set; } + + public TimeOnly? DueDateDueTime { get; set; } + + public string? Abbreviation { get; set; } + + public string? EuCallId { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int? DimCallProgrammeId { get; set; } + + public string? SourceProgrammeId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string? ApplicationTermsFi { get; set; } + + public string? ApplicationTermsSv { get; set; } + + public string? ApplicationTermsEn { get; set; } + + public string? ContactInformation { get; set; } + + public bool? ContinuousApplicationPeriod { get; set; } + + public bool IsOpenCall { get; set; } + + public string? CallNameDetailsFi { get; set; } + + public string? CallNameDetailsEn { get; set; } + + public string? CallNameDetailsSv { get; set; } + + public string? LocalIdentifier { get; set; } + + public int? TypeOfFunding { get; set; } + + public virtual ICollection DimCallDecisions { get; set; } = new List(); + + public virtual DimCallProgramme? DimCallProgrammeNavigation { get; set; } + + public virtual DimDate DimDateIdDueNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdOpenNavigation { get; set; } = null!; + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } = new List(); + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection InverseDimCallProgrammeNavigation { get; set; } = new List(); + + public virtual DimReferencedatum? TypeOfFundingNavigation { get; set; } + + public virtual ICollection DimCallProgrammeId2s { get; set; } = new List(); + + public virtual ICollection DimCallProgrammes { get; set; } = new List(); + + public virtual ICollection DimOrganizations { get; set; } = new List(); + + public virtual ICollection DimReferencedata { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimCompetence.cs b/aspnetcore/src/DatabaseContext/Entities/DimCompetence.cs index 3ffcbc3..3f41019 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimCompetence.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimCompetence.cs @@ -1,33 +1,43 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimCompetence - { - public DimCompetence() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int? CompetenceType { get; set; } - public int? LocalIdentifier { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimKnownPersonId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimCompetence +{ + public int Id { get; set; } + + public int? CompetenceType { get; set; } + + public int? LocalIdentifier { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimDate.cs b/aspnetcore/src/DatabaseContext/Entities/DimDate.cs index 4b0113d..a460a39 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimDate.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimDate.cs @@ -1,74 +1,75 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimDate - { - public DimDate() - { - DimAffiliationEndDateNavigations = new HashSet(); - DimAffiliationStartDateNavigations = new HashSet(); - DimCallDecisions = new HashSet(); - DimCallProgrammeDimDateIdDueNavigations = new HashSet(); - DimCallProgrammeDimDateIdOpenNavigations = new HashSet(); - DimEducationDimEndDateNavigations = new HashSet(); - DimEducationDimStartDateNavigations = new HashSet(); - DimEventDimDateIdEndDateNavigations = new HashSet(); - DimEventDimDateIdStartDateNavigations = new HashSet(); - DimFundingDecisionDimDateIdApprovalNavigations = new HashSet(); - DimFundingDecisionDimDateIdEndNavigations = new HashSet(); - DimFundingDecisionDimDateIdStartNavigations = new HashSet(); - DimProfileOnlyFundingDecisionDimDateIdApprovalNavigations = new HashSet(); - DimProfileOnlyFundingDecisionDimDateIdEndNavigations = new HashSet(); - DimProfileOnlyFundingDecisionDimDateIdStartNavigations = new HashSet(); - DimProfileOnlyResearchActivityDimDateIdEndNavigations = new HashSet(); - DimProfileOnlyResearchActivityDimDateIdStartNavigations = new HashSet(); - DimResearchActivityDimEndDateNavigations = new HashSet(); - DimResearchActivityDimStartDateNavigations = new HashSet(); - DimResearchProjectEndDateNavigations = new HashSet(); - DimResearchProjectStartDateNavigations = new HashSet(); - DimResearcherToResearchCommunityEndDateNavigations = new HashSet(); - DimResearcherToResearchCommunityStartDateNavigations = new HashSet(); - FactContributions = new HashSet(); - FactUpkeepDimDateIdEndNavigations = new HashSet(); - FactUpkeepDimDateIdStartNavigations = new HashSet(); - } - - public int Id { get; set; } - public int Year { get; set; } - public int Month { get; set; } - public int Day { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimAffiliationEndDateNavigations { get; set; } - public virtual ICollection DimAffiliationStartDateNavigations { get; set; } - public virtual ICollection DimCallDecisions { get; set; } - public virtual ICollection DimCallProgrammeDimDateIdDueNavigations { get; set; } - public virtual ICollection DimCallProgrammeDimDateIdOpenNavigations { get; set; } - public virtual ICollection DimEducationDimEndDateNavigations { get; set; } - public virtual ICollection DimEducationDimStartDateNavigations { get; set; } - public virtual ICollection DimEventDimDateIdEndDateNavigations { get; set; } - public virtual ICollection DimEventDimDateIdStartDateNavigations { get; set; } - public virtual ICollection DimFundingDecisionDimDateIdApprovalNavigations { get; set; } - public virtual ICollection DimFundingDecisionDimDateIdEndNavigations { get; set; } - public virtual ICollection DimFundingDecisionDimDateIdStartNavigations { get; set; } - public virtual ICollection DimProfileOnlyFundingDecisionDimDateIdApprovalNavigations { get; set; } - public virtual ICollection DimProfileOnlyFundingDecisionDimDateIdEndNavigations { get; set; } - public virtual ICollection DimProfileOnlyFundingDecisionDimDateIdStartNavigations { get; set; } - public virtual ICollection DimProfileOnlyResearchActivityDimDateIdEndNavigations { get; set; } - public virtual ICollection DimProfileOnlyResearchActivityDimDateIdStartNavigations { get; set; } - public virtual ICollection DimResearchActivityDimEndDateNavigations { get; set; } - public virtual ICollection DimResearchActivityDimStartDateNavigations { get; set; } - public virtual ICollection DimResearchProjectEndDateNavigations { get; set; } - public virtual ICollection DimResearchProjectStartDateNavigations { get; set; } - public virtual ICollection DimResearcherToResearchCommunityEndDateNavigations { get; set; } - public virtual ICollection DimResearcherToResearchCommunityStartDateNavigations { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactUpkeepDimDateIdEndNavigations { get; set; } - public virtual ICollection FactUpkeepDimDateIdStartNavigations { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimDate +{ + public int Id { get; set; } + + public int Year { get; set; } + + public int Month { get; set; } + + public int Day { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimAffiliationEndDateNavigations { get; set; } = new List(); + + public virtual ICollection DimAffiliationStartDateNavigations { get; set; } = new List(); + + public virtual ICollection DimCallDecisions { get; set; } = new List(); + + public virtual ICollection DimCallProgrammeDimDateIdDueNavigations { get; set; } = new List(); + + public virtual ICollection DimCallProgrammeDimDateIdOpenNavigations { get; set; } = new List(); + + public virtual ICollection DimEducationDimEndDateNavigations { get; set; } = new List(); + + public virtual ICollection DimEducationDimStartDateNavigations { get; set; } = new List(); + + public virtual ICollection DimEventDimDateIdEndDateNavigations { get; set; } = new List(); + + public virtual ICollection DimEventDimDateIdStartDateNavigations { get; set; } = new List(); + + public virtual ICollection DimFundingDecisionDimDateIdApprovalNavigations { get; set; } = new List(); + + public virtual ICollection DimFundingDecisionDimDateIdEndNavigations { get; set; } = new List(); + + public virtual ICollection DimFundingDecisionDimDateIdStartNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyFundingDecisionDimDateIdApprovalNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyFundingDecisionDimDateIdEndNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyFundingDecisionDimDateIdStartNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyResearchActivityDimDateIdEndNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyResearchActivityDimDateIdStartNavigations { get; set; } = new List(); + + public virtual ICollection DimResearchActivityDimEndDateNavigations { get; set; } = new List(); + + public virtual ICollection DimResearchActivityDimStartDateNavigations { get; set; } = new List(); + + public virtual ICollection DimResearchProjectEndDateNavigations { get; set; } = new List(); + + public virtual ICollection DimResearchProjectStartDateNavigations { get; set; } = new List(); + + public virtual ICollection DimResearcherToResearchCommunityEndDateNavigations { get; set; } = new List(); + + public virtual ICollection DimResearcherToResearchCommunityStartDateNavigations { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactUpkeepDimDateIdEndNavigations { get; set; } = new List(); + + public virtual ICollection FactUpkeepDimDateIdStartNavigations { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimEducation.cs b/aspnetcore/src/DatabaseContext/Entities/DimEducation.cs index 1344ed3..b8bb1d3 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimEducation.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimEducation.cs @@ -1,43 +1,63 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimEducation - { - public DimEducation() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? LocalIdentifier { get; set; } - public float? Credits { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string? DegreeNameFi { get; set; } - public string? DegreeNameSv { get; set; } - public string? DegreeNameEn { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int? DimStartDate { get; set; } - public int? DimEndDate { get; set; } - public int? DimInstructionLanguage { get; set; } - public int DimKnownPersonId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public string? DegreeGrantingInstitutionName { get; set; } - - public virtual DimDate? DimEndDateNavigation { get; set; } - public virtual DimReferencedatum? DimInstructionLanguageNavigation { get; set; } - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimDate? DimStartDateNavigation { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimEducation +{ + public int Id { get; set; } + + public string? LocalIdentifier { get; set; } + + public float? Credits { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DegreeNameFi { get; set; } + + public string? DegreeNameSv { get; set; } + + public string? DegreeNameEn { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int? DimStartDate { get; set; } + + public int? DimEndDate { get; set; } + + public int? DimInstructionLanguage { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public string? DegreeGrantingInstitutionName { get; set; } + + public virtual DimDate? DimEndDateNavigation { get; set; } + + public virtual DimReferencedatum? DimInstructionLanguageNavigation { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimDate? DimStartDateNavigation { get; set; } + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimEmailAddrress.cs b/aspnetcore/src/DatabaseContext/Entities/DimEmailAddrress.cs index 1b7f27c..c7bad30 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimEmailAddrress.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimEmailAddrress.cs @@ -1,26 +1,29 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimEmailAddrress - { - public DimEmailAddrress() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? Email { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public int DimKnownPersonId { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimEmailAddrress +{ + public int Id { get; set; } + + public string? Email { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public int DimKnownPersonId { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimEsfri.cs b/aspnetcore/src/DatabaseContext/Entities/DimEsfri.cs index 5d8f97e..6e3bcbe 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimEsfri.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimEsfri.cs @@ -1,24 +1,25 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimEsfri - { - public DimEsfri() - { - DimInfrastructures = new HashSet(); - } - - public int Id { get; set; } - public string? NameFi { get; set; } - public string? NameEn { get; set; } - public string? NameSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Modified { get; set; } - public DateTime? Created { get; set; } - - public virtual ICollection DimInfrastructures { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimEsfri +{ + public int Id { get; set; } + + public string? NameFi { get; set; } + + public string? NameEn { get; set; } + + public string? NameSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Modified { get; set; } + + public DateTime? Created { get; set; } + + public virtual ICollection DimInfrastructures { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimEvent.cs b/aspnetcore/src/DatabaseContext/Entities/DimEvent.cs index 9761f47..2f2fff7 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimEvent.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimEvent.cs @@ -1,40 +1,51 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimEvent - { - public DimEvent() - { - DimPids = new HashSet(); - DimProfileOnlyResearchActivities = new HashSet(); - DimResearchActivities = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? EventLocationText { get; set; } - public int? DimDateIdStartDate { get; set; } - public int? DimDateIdEndDate { get; set; } - public int? DimGeoIdEventCountry { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimDate? DimDateIdEndDateNavigation { get; set; } - public virtual DimDate? DimDateIdStartDateNavigation { get; set; } - public virtual DimGeo? DimGeoIdEventCountryNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimProfileOnlyResearchActivities { get; set; } - public virtual ICollection DimResearchActivities { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimEvent +{ + public int Id { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? EventLocationText { get; set; } + + public int? DimDateIdStartDate { get; set; } + + public int? DimDateIdEndDate { get; set; } + + public int? DimGeoIdEventCountry { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimDate? DimDateIdEndDateNavigation { get; set; } + + public virtual DimDate? DimDateIdStartDateNavigation { get; set; } + + public virtual DimGeo? DimGeoIdEventCountryNavigation { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyResearchActivities { get; set; } = new List(); + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimResearchActivities { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimExternalService.cs b/aspnetcore/src/DatabaseContext/Entities/DimExternalService.cs index 5c0409c..7d59f45 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimExternalService.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimExternalService.cs @@ -1,19 +1,25 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimExternalService - { - public int Id { get; set; } - public int DimOrganizationId { get; set; } - public string? Name { get; set; } - public string? Description { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimOrganization DimOrganization { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimExternalService +{ + public int Id { get; set; } + + public int DimOrganizationId { get; set; } + + public string? Name { get; set; } + + public string? Description { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimOrganization DimOrganization { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimFieldDisplaySetting.cs b/aspnetcore/src/DatabaseContext/Entities/DimFieldDisplaySetting.cs index 932b75d..73622be 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimFieldDisplaySetting.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimFieldDisplaySetting.cs @@ -1,28 +1,29 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimFieldDisplaySetting - { - public DimFieldDisplaySetting() - { - FactFieldValues = new HashSet(); - DimRegisteredDataSources = new HashSet(); - } - - public int Id { get; set; } - public int DimUserProfileId { get; set; } - public int FieldIdentifier { get; set; } - public bool Show { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimUserProfile DimUserProfile { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - - public virtual ICollection DimRegisteredDataSources { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimFieldDisplaySetting +{ + public int Id { get; set; } + + public int DimUserProfileId { get; set; } + + public int FieldIdentifier { get; set; } + + public bool Show { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimUserProfile DimUserProfile { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection DimRegisteredDataSources { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimFundingDecision.cs b/aspnetcore/src/DatabaseContext/Entities/DimFundingDecision.cs index 86739c2..6dc08fc 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimFundingDecision.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimFundingDecision.cs @@ -1,85 +1,119 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimFundingDecision - { - public DimFundingDecision() - { - BrFundingConsortiumParticipations = new HashSet(); - BrParticipatesInFundingGroups = new HashSet(); - BrWordClusterDimFundingDecisions = new HashSet(); - DimWebLinks = new HashSet(); - FactContributions = new HashSet(); - FactDimReferencedataFieldOfSciences = new HashSet(); - FactFieldValues = new HashSet(); - InverseDimFundingDecisionIdParentDecisionNavigation = new HashSet(); - DimFundingDecisionFroms = new HashSet(); - DimFundingDecisionTos = new HashSet(); - DimKeywords = new HashSet(); - } - - public int Id { get; set; } - public int DimDateIdApproval { get; set; } - public int DimDateIdStart { get; set; } - public int DimDateIdEnd { get; set; } - public int DimNameIdContactPerson { get; set; } - public int DimCallProgrammeId { get; set; } - public int DimGeoId { get; set; } - public int DimTypeOfFundingId { get; set; } - public int? DimOrganizationIdFunder { get; set; } - public string? DimPidPidContent { get; set; } - public int DimFundingDecisionIdParentDecision { get; set; } - /// - /// Päätöksen paikallinen tunniste (tiedon toimittajan) - /// - public string? FunderProjectNumber { get; set; } - public string? Acronym { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public int? HasInternationalCollaboration { get; set; } - public int? HasBusinessCollaboration { get; set; } - public decimal AmountInEur { get; set; } - public decimal? AmountInFundingDecisionCurrency { get; set; } - public string? FundingDecisionCurrencyAbbreviation { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - /// - /// Rahoituspäätös - Päätöspaneeli - /// - public int? DimCallDecisionsId { get; set; } - - public virtual DimCallDecision? DimCallDecisions { get; set; } - public virtual DimCallProgramme DimCallProgramme { get; set; } = null!; - public virtual DimDate DimDateIdApprovalNavigation { get; set; } = null!; - public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; - public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; - public virtual DimFundingDecision DimFundingDecisionIdParentDecisionNavigation { get; set; } = null!; - public virtual DimGeo DimGeo { get; set; } = null!; - public virtual DimName DimNameIdContactPersonNavigation { get; set; } = null!; - public virtual DimOrganization? DimOrganizationIdFunderNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimReferencedatum DimTypeOfFunding { get; set; } = null!; - public virtual ICollection BrFundingConsortiumParticipations { get; set; } - public virtual ICollection BrParticipatesInFundingGroups { get; set; } - public virtual ICollection BrWordClusterDimFundingDecisions { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } - public virtual ICollection FactFieldValues { get; set; } - public virtual ICollection InverseDimFundingDecisionIdParentDecisionNavigation { get; set; } - - public virtual ICollection DimFundingDecisionFroms { get; set; } - public virtual ICollection DimFundingDecisionTos { get; set; } - public virtual ICollection DimKeywords { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimFundingDecision +{ + public int Id { get; set; } + + public int DimDateIdApproval { get; set; } + + public int DimDateIdStart { get; set; } + + public int DimDateIdEnd { get; set; } + + public int DimNameIdContactPerson { get; set; } + + public int DimCallProgrammeId { get; set; } + + public int DimGeoId { get; set; } + + public int DimTypeOfFundingId { get; set; } + + public int? DimOrganizationIdFunder { get; set; } + + public string? DimPidPidContent { get; set; } + + public int DimFundingDecisionIdParentDecision { get; set; } + + /// + /// Päätöksen paikallinen tunniste (tiedon toimittajan) + /// + public string? FunderProjectNumber { get; set; } + + public string? Acronym { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public int? HasInternationalCollaboration { get; set; } + + public int? HasBusinessCollaboration { get; set; } + + public decimal AmountInEur { get; set; } + + public decimal? AmountInFundingDecisionCurrency { get; set; } + + public string? FundingDecisionCurrencyAbbreviation { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + /// + /// Rahoituspäätös - Päätöspaneeli + /// + public int? DimCallDecisionsId { get; set; } + + public virtual ICollection BrFundingConsortiumParticipations { get; set; } = new List(); + + public virtual ICollection BrParticipatesInFundingGroups { get; set; } = new List(); + + public virtual ICollection BrWordClusterDimFundingDecisions { get; set; } = new List(); + + public virtual DimCallDecision? DimCallDecisions { get; set; } + + public virtual DimCallProgramme DimCallProgramme { get; set; } = null!; + + public virtual DimDate DimDateIdApprovalNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; + + public virtual DimFundingDecision DimFundingDecisionIdParentDecisionNavigation { get; set; } = null!; + + public virtual DimGeo DimGeo { get; set; } = null!; + + public virtual DimName DimNameIdContactPersonNavigation { get; set; } = null!; + + public virtual DimOrganization? DimOrganizationIdFunderNavigation { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimReferencedatum DimTypeOfFunding { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection InverseDimFundingDecisionIdParentDecisionNavigation { get; set; } = new List(); + + public virtual ICollection DimFundingDecisionFroms { get; set; } = new List(); + + public virtual ICollection DimFundingDecisionTos { get; set; } = new List(); + + public virtual ICollection DimKeywords { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimGeo.cs b/aspnetcore/src/DatabaseContext/Entities/DimGeo.cs index 099fca3..0655559 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimGeo.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimGeo.cs @@ -1,42 +1,51 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimGeo - { - public DimGeo() - { - DimEvents = new HashSet(); - DimFundingDecisions = new HashSet(); - DimProfileOnlyResearchActivities = new HashSet(); - DimResearchActivities = new HashSet(); - FactContributions = new HashSet(); - FactUpkeeps = new HashSet(); - } - - public int Id { get; set; } - public string? CountryCode { get; set; } - public string CountryId { get; set; } = null!; - public string? RegionId { get; set; } - public string? MunicipalityId { get; set; } - public string CountryFi { get; set; } = null!; - public string? CountryEn { get; set; } - public string? CountrySv { get; set; } - public string? RegionFi { get; set; } - public string? RegionSv { get; set; } - public string? MunicipalityFi { get; set; } - public string? MunicipalitySv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimEvents { get; set; } - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimProfileOnlyResearchActivities { get; set; } - public virtual ICollection DimResearchActivities { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactUpkeeps { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimGeo +{ + public int Id { get; set; } + + public string? CountryCode { get; set; } + + public string CountryId { get; set; } = null!; + + public string? RegionId { get; set; } + + public string? MunicipalityId { get; set; } + + public string CountryFi { get; set; } = null!; + + public string? CountryEn { get; set; } + + public string? CountrySv { get; set; } + + public string? RegionFi { get; set; } + + public string? RegionSv { get; set; } + + public string? MunicipalityFi { get; set; } + + public string? MunicipalitySv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimEvents { get; set; } = new List(); + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyResearchActivities { get; set; } = new List(); + + public virtual ICollection DimResearchActivities { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactUpkeeps { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimIdentifierlessDatum.cs b/aspnetcore/src/DatabaseContext/Entities/DimIdentifierlessDatum.cs index 4d6d903..db78513 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimIdentifierlessDatum.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimIdentifierlessDatum.cs @@ -1,32 +1,37 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimIdentifierlessDatum - { - public DimIdentifierlessDatum() - { - FactContributions = new HashSet(); - FactFieldValues = new HashSet(); - InverseDimIdentifierlessData = new HashSet(); - } - - public int Id { get; set; } - public string? Type { get; set; } - public int? DimIdentifierlessDataId { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string? ValueFi { get; set; } - public string? ValueEn { get; set; } - public string? ValueSv { get; set; } - public string? UnlinkedIdentifier { get; set; } - - public virtual DimIdentifierlessDatum? DimIdentifierlessData { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactFieldValues { get; set; } - public virtual ICollection InverseDimIdentifierlessData { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimIdentifierlessDatum +{ + public int Id { get; set; } + + public string? Type { get; set; } + + public int? DimIdentifierlessDataId { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string? ValueFi { get; set; } + + public string? ValueEn { get; set; } + + public string? ValueSv { get; set; } + + public string? UnlinkedIdentifier { get; set; } + + public virtual DimIdentifierlessDatum? DimIdentifierlessData { get; set; } + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection InverseDimIdentifierlessData { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimInfrastructure.cs b/aspnetcore/src/DatabaseContext/Entities/DimInfrastructure.cs index 983733c..b098af9 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimInfrastructure.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimInfrastructure.cs @@ -1,52 +1,65 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimInfrastructure - { - public DimInfrastructure() - { - DimPids = new HashSet(); - FactContributions = new HashSet(); - FactDimReferencedataFieldOfSciences = new HashSet(); - FactInfraKeywords = new HashSet(); - FactUpkeeps = new HashSet(); - InverseNextInfastructure = new HashSet(); - DimEsfris = new HashSet(); - DimMerils = new HashSet(); - } - - public int Id { get; set; } - public int NextInfastructureId { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public int? StartYear { get; set; } - public int? EndYear { get; set; } - public string? Acronym { get; set; } - public bool FinlandRoadmap { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string? Urn { get; set; } - public string? ScientificDescriptionFi { get; set; } - public string? ScientificDescriptionSv { get; set; } - public string? ScientificDescriptionEn { get; set; } - - public virtual DimInfrastructure NextInfastructure { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } - public virtual ICollection FactInfraKeywords { get; set; } - public virtual ICollection FactUpkeeps { get; set; } - public virtual ICollection InverseNextInfastructure { get; set; } - - public virtual ICollection DimEsfris { get; set; } - public virtual ICollection DimMerils { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimInfrastructure +{ + public int Id { get; set; } + + public int NextInfastructureId { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public int? StartYear { get; set; } + + public int? EndYear { get; set; } + + public string? Acronym { get; set; } + + public bool FinlandRoadmap { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string? Urn { get; set; } + + public string? ScientificDescriptionFi { get; set; } + + public string? ScientificDescriptionSv { get; set; } + + public string? ScientificDescriptionEn { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } = new List(); + + public virtual ICollection FactInfraKeywords { get; set; } = new List(); + + public virtual ICollection FactUpkeeps { get; set; } = new List(); + + public virtual ICollection InverseNextInfastructure { get; set; } = new List(); + + public virtual DimInfrastructure NextInfastructure { get; set; } = null!; + + public virtual ICollection DimEsfris { get; set; } = new List(); + + public virtual ICollection DimMerils { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimKeyword.cs b/aspnetcore/src/DatabaseContext/Entities/DimKeyword.cs index 426fb4a..59bfe11 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimKeyword.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimKeyword.cs @@ -1,49 +1,59 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimKeyword - { - public DimKeyword() - { - FactFieldValues = new HashSet(); - FactInfraKeywords = new HashSet(); - InverseDimKeywordCloseMatchNavigation = new HashSet(); - InverseDimKeywordLanguageVariantNavigation = new HashSet(); - InverseDimKeywordRelatedNavigation = new HashSet(); - DimFundingDecisions = new HashSet(); - DimPublications = new HashSet(); - DimResearchDatasets = new HashSet(); - } - - public int Id { get; set; } - public string Keyword { get; set; } = null!; - public string? Scheme { get; set; } - public string? Language { get; set; } - public int? DimKeywordRelated { get; set; } - public int? DimKeywordCloseMatch { get; set; } - public int? DimKeywordLanguageVariant { get; set; } - public string? ConceptUri { get; set; } - public string? SchemeUri { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimKeyword? DimKeywordCloseMatchNavigation { get; set; } - public virtual DimKeyword? DimKeywordLanguageVariantNavigation { get; set; } - public virtual DimKeyword? DimKeywordRelatedNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - public virtual ICollection FactInfraKeywords { get; set; } - public virtual ICollection InverseDimKeywordCloseMatchNavigation { get; set; } - public virtual ICollection InverseDimKeywordLanguageVariantNavigation { get; set; } - public virtual ICollection InverseDimKeywordRelatedNavigation { get; set; } - - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimPublications { get; set; } - public virtual ICollection DimResearchDatasets { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimKeyword +{ + public int Id { get; set; } + + public string Keyword { get; set; } = null!; + + public string? Scheme { get; set; } + + public string? Language { get; set; } + + public int? DimKeywordRelated { get; set; } + + public int? DimKeywordCloseMatch { get; set; } + + public int? DimKeywordLanguageVariant { get; set; } + + public string? ConceptUri { get; set; } + + public string? SchemeUri { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimKeyword? DimKeywordCloseMatchNavigation { get; set; } + + public virtual DimKeyword? DimKeywordLanguageVariantNavigation { get; set; } + + public virtual DimKeyword? DimKeywordRelatedNavigation { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection FactInfraKeywords { get; set; } = new List(); + + public virtual ICollection InverseDimKeywordCloseMatchNavigation { get; set; } = new List(); + + public virtual ICollection InverseDimKeywordLanguageVariantNavigation { get; set; } = new List(); + + public virtual ICollection InverseDimKeywordRelatedNavigation { get; set; } = new List(); + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimPublications { get; set; } = new List(); + + public virtual ICollection DimResearchDatasets { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimKnownPerson.cs b/aspnetcore/src/DatabaseContext/Entities/DimKnownPerson.cs index ccd1b54..5ed3df6 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimKnownPerson.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimKnownPerson.cs @@ -1,48 +1,49 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimKnownPerson - { - public DimKnownPerson() - { - DimAffiliations = new HashSet(); - DimCompetences = new HashSet(); - DimEducations = new HashSet(); - DimEmailAddrresses = new HashSet(); - DimNames = new HashSet(); - DimPids = new HashSet(); - DimProfileOnlyPublications = new HashSet(); - DimResearcherDescriptions = new HashSet(); - DimResearcherToResearchCommunities = new HashSet(); - DimTelephoneNumbers = new HashSet(); - DimUserProfiles = new HashSet(); - DimWebLinks = new HashSet(); - FactDimReferencedataFieldOfSciences = new HashSet(); - } - - public int Id { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string? SourceProjectId { get; set; } - public int? DimRegisteredDataSourceId { get; set; } - - public virtual DimRegisteredDataSource? DimRegisteredDataSource { get; set; } - public virtual ICollection DimAffiliations { get; set; } - public virtual ICollection DimCompetences { get; set; } - public virtual ICollection DimEducations { get; set; } - public virtual ICollection DimEmailAddrresses { get; set; } - public virtual ICollection DimNames { get; set; } - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimProfileOnlyPublications { get; set; } - public virtual ICollection DimResearcherDescriptions { get; set; } - public virtual ICollection DimResearcherToResearchCommunities { get; set; } - public virtual ICollection DimTelephoneNumbers { get; set; } - public virtual ICollection DimUserProfiles { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimKnownPerson +{ + public int Id { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string? SourceProjectId { get; set; } + + public int? DimRegisteredDataSourceId { get; set; } + + public virtual ICollection DimAffiliations { get; set; } = new List(); + + public virtual ICollection DimCompetences { get; set; } = new List(); + + public virtual ICollection DimEducations { get; set; } = new List(); + + public virtual ICollection DimEmailAddrresses { get; set; } = new List(); + + public virtual ICollection DimNames { get; set; } = new List(); + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublications { get; set; } = new List(); + + public virtual DimRegisteredDataSource? DimRegisteredDataSource { get; set; } + + public virtual ICollection DimResearcherDescriptions { get; set; } = new List(); + + public virtual ICollection DimResearcherToResearchCommunities { get; set; } = new List(); + + public virtual ICollection DimTelephoneNumbers { get; set; } = new List(); + + public virtual ICollection DimUserProfiles { get; set; } = new List(); + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimLocallyReportedPubInfo.cs b/aspnetcore/src/DatabaseContext/Entities/DimLocallyReportedPubInfo.cs index f6d2980..d1c9f48 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimLocallyReportedPubInfo.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimLocallyReportedPubInfo.cs @@ -1,24 +1,35 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimLocallyReportedPubInfo - { - public int Id { get; set; } - public int DimPublicationid { get; set; } - public string? SelfArchivedType { get; set; } - public string? SelfArchivedUrl { get; set; } - public int SelfArchivedVersionCode { get; set; } - public int SelfArchivedLicenseCode { get; set; } - public DateTime? SelfArchivedEmbargoDate { get; set; } - public string? SourceId { get; set; } - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimPublication DimPublication { get; set; } = null!; - public virtual DimReferencedatum SelfArchivedLicenseCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum SelfArchivedVersionCodeNavigation { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimLocallyReportedPubInfo +{ + public int Id { get; set; } + + public int DimPublicationid { get; set; } + + public string? SelfArchivedType { get; set; } + + public string? SelfArchivedUrl { get; set; } + + public int SelfArchivedVersionCode { get; set; } + + public int SelfArchivedLicenseCode { get; set; } + + public DateTime? SelfArchivedEmbargoDate { get; set; } + + public string? SourceId { get; set; } + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimPublication DimPublication { get; set; } = null!; + + public virtual DimReferencedatum SelfArchivedLicenseCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum SelfArchivedVersionCodeNavigation { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimMeril.cs b/aspnetcore/src/DatabaseContext/Entities/DimMeril.cs index ca6f122..3de50df 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimMeril.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimMeril.cs @@ -1,24 +1,25 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimMeril - { - public DimMeril() - { - DimInfrastructures = new HashSet(); - } - - public int Id { get; set; } - public string? NameFi { get; set; } - public string? NameEn { get; set; } - public string? NameSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimInfrastructures { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimMeril +{ + public int Id { get; set; } + + public string? NameFi { get; set; } + + public string? NameEn { get; set; } + + public string? NameSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimInfrastructures { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimMinedWord.cs b/aspnetcore/src/DatabaseContext/Entities/DimMinedWord.cs index a07b3b6..68aebdf 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimMinedWord.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimMinedWord.cs @@ -1,22 +1,21 @@ -using System; -using System.Collections.Generic; +using System; +using System.Collections.Generic; -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimMinedWord - { - public DimMinedWord() - { - BrWordsDefineAClusters = new HashSet(); - } +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimMinedWord +{ + public int Id { get; set; } - public int Id { get; set; } - public string Word { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string SourceId { get; set; } = null!; + public string Word { get; set; } = null!; - public virtual ICollection BrWordsDefineAClusters { get; set; } - } -} + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string SourceId { get; set; } = null!; + + public virtual ICollection BrWordsDefineAClusters { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimName.cs b/aspnetcore/src/DatabaseContext/Entities/DimName.cs index 14cc673..16c88af 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimName.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimName.cs @@ -1,37 +1,43 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimName - { - public DimName() - { - BrParticipatesInFundingGroups = new HashSet(); - DimFundingDecisions = new HashSet(); - DimResearchProjects = new HashSet(); - FactContributions = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? LastName { get; set; } - public string? FirstNames { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimKnownPersonIdConfirmedIdentity { get; set; } - public string? SourceProjectId { get; set; } - public string? FullName { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimKnownPerson DimKnownPersonIdConfirmedIdentityNavigation { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection BrParticipatesInFundingGroups { get; set; } - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimResearchProjects { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimName +{ + public int Id { get; set; } + + public string? LastName { get; set; } + + public string? FirstNames { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimKnownPersonIdConfirmedIdentity { get; set; } + + public string? SourceProjectId { get; set; } + + public string? FullName { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual ICollection BrParticipatesInFundingGroups { get; set; } = new List(); + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual DimKnownPerson DimKnownPersonIdConfirmedIdentityNavigation { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimResearchProjects { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimNewsFeed.cs b/aspnetcore/src/DatabaseContext/Entities/DimNewsFeed.cs index 75e9916..91e8ea9 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimNewsFeed.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimNewsFeed.cs @@ -1,25 +1,25 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimNewsFeed - { - public DimNewsFeed() - { - DimNewsItems = new HashSet(); - FactContributions = new HashSet(); - } - - public int Id { get; set; } - public string? Title { get; set; } - public string? FeedUrl { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimNewsItems { get; set; } - public virtual ICollection FactContributions { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimNewsFeed +{ + public int Id { get; set; } + + public string? Title { get; set; } + + public string? FeedUrl { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimNewsItems { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimNewsItem.cs b/aspnetcore/src/DatabaseContext/Entities/DimNewsItem.cs index a96f37f..c589962 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimNewsItem.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimNewsItem.cs @@ -1,21 +1,29 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimNewsItem - { - public int Id { get; set; } - public int DimNewsFeedid { get; set; } - public string? NewsHeadline { get; set; } - public string? NewsContent { get; set; } - public string? Url { get; set; } - public DateTime? Timestamp { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimNewsFeed DimNewsFeed { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimNewsItem +{ + public int Id { get; set; } + + public int DimNewsFeedid { get; set; } + + public string? NewsHeadline { get; set; } + + public string? NewsContent { get; set; } + + public string? Url { get; set; } + + public DateTime? Timestamp { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimNewsFeed DimNewsFeed { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimOrganisationMedium.cs b/aspnetcore/src/DatabaseContext/Entities/DimOrganisationMedium.cs index ca37e36..15a673b 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimOrganisationMedium.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimOrganisationMedium.cs @@ -1,18 +1,23 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimOrganisationMedium - { - public int DimOrganizationId { get; set; } - public string? MediaUri { get; set; } - public string? LanguageVariant { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimOrganization DimOrganization { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimOrganisationMedium +{ + public int DimOrganizationId { get; set; } + + public string? MediaUri { get; set; } + + public string? LanguageVariant { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimOrganization DimOrganization { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimOrganization.cs b/aspnetcore/src/DatabaseContext/Entities/DimOrganization.cs index 5bb49a0..5f13f43 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimOrganization.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimOrganization.cs @@ -1,88 +1,111 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimOrganization - { - public DimOrganization() - { - BrFundingConsortiumParticipations = new HashSet(); - BrParticipatesInFundingGroups = new HashSet(); - DimAffiliations = new HashSet(); - DimExternalServices = new HashSet(); - DimFundingDecisions = new HashSet(); - DimPids = new HashSet(); - DimProfileOnlyFundingDecisions = new HashSet(); - DimProfileOnlyResearchActivities = new HashSet(); - DimPurposes = new HashSet(); - DimRegisteredDataSources = new HashSet(); - DimResearchActivities = new HashSet(); - DimResearchProjects = new HashSet(); - DimWebLinks = new HashSet(); - FactContributions = new HashSet(); - FactUpkeeps = new HashSet(); - InverseDimOrganizationBroaderNavigation = new HashSet(); - DimCallProgrammes = new HashSet(); - DimOrganizationid2s = new HashSet(); - DimOrganizationid2sNavigation = new HashSet(); - DimOrganizations = new HashSet(); - DimOrganizationsNavigation = new HashSet(); - } - - public int Id { get; set; } - public int? DimOrganizationBroader { get; set; } - public int DimSectorid { get; set; } - public string? OrganizationId { get; set; } - public bool? OrganizationActive { get; set; } - public string? LocalOrganizationUnitId { get; set; } - public string? LocalOrganizationSector { get; set; } - public string? OrganizationBackground { get; set; } - public string? OrganizationType { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameVariants { get; set; } - public string? NameUnd { get; set; } - public string? CountryCode { get; set; } - public DateTime? Established { get; set; } - public string? VisitingAddress { get; set; } - public string? PostalAddress { get; set; } - public int? StaffCountAsFte { get; set; } - public int? DegreeCountBsc { get; set; } - public int? DegreeCountMsc { get; set; } - public int? DegreeCountLic { get; set; } - public int? DegreeCountPhd { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimOrganization? DimOrganizationBroaderNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimSector DimSector { get; set; } = null!; - public virtual ICollection BrFundingConsortiumParticipations { get; set; } - public virtual ICollection BrParticipatesInFundingGroups { get; set; } - public virtual ICollection DimAffiliations { get; set; } - public virtual ICollection DimExternalServices { get; set; } - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } - public virtual ICollection DimProfileOnlyResearchActivities { get; set; } - public virtual ICollection DimPurposes { get; set; } - public virtual ICollection DimRegisteredDataSources { get; set; } - public virtual ICollection DimResearchActivities { get; set; } - public virtual ICollection DimResearchProjects { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactUpkeeps { get; set; } - public virtual ICollection InverseDimOrganizationBroaderNavigation { get; set; } - - public virtual ICollection DimCallProgrammes { get; set; } - public virtual ICollection DimOrganizationid2s { get; set; } - public virtual ICollection DimOrganizationid2sNavigation { get; set; } - public virtual ICollection DimOrganizations { get; set; } - public virtual ICollection DimOrganizationsNavigation { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimOrganization +{ + public int Id { get; set; } + + public int? DimOrganizationBroader { get; set; } + + public int DimSectorid { get; set; } + + public string? OrganizationId { get; set; } + + public bool? OrganizationActive { get; set; } + + public string? LocalOrganizationUnitId { get; set; } + + public string? LocalOrganizationSector { get; set; } + + public string? OrganizationBackground { get; set; } + + public string? OrganizationType { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameVariants { get; set; } + + public string? NameUnd { get; set; } + + public string? CountryCode { get; set; } + + public DateTime? Established { get; set; } + + public string? VisitingAddress { get; set; } + + public string? PostalAddress { get; set; } + + public int? StaffCountAsFte { get; set; } + + public int? DegreeCountBsc { get; set; } + + public int? DegreeCountMsc { get; set; } + + public int? DegreeCountLic { get; set; } + + public int? DegreeCountPhd { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual ICollection BrFundingConsortiumParticipations { get; set; } = new List(); + + public virtual ICollection BrParticipatesInFundingGroups { get; set; } = new List(); + + public virtual ICollection DimAffiliations { get; set; } = new List(); + + public virtual ICollection DimExternalServices { get; set; } = new List(); + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual DimOrganization? DimOrganizationBroaderNavigation { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyResearchActivities { get; set; } = new List(); + + public virtual ICollection DimPurposes { get; set; } = new List(); + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimRegisteredDataSources { get; set; } = new List(); + + public virtual ICollection DimResearchActivities { get; set; } = new List(); + + public virtual ICollection DimResearchProjects { get; set; } = new List(); + + public virtual DimSector DimSector { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactUpkeeps { get; set; } = new List(); + + public virtual ICollection InverseDimOrganizationBroaderNavigation { get; set; } = new List(); + + public virtual ICollection DimCallProgrammes { get; set; } = new List(); + + public virtual ICollection DimOrganizationid2s { get; set; } = new List(); + + public virtual ICollection DimOrganizationid2sNavigation { get; set; } = new List(); + + public virtual ICollection DimOrganizations { get; set; } = new List(); + + public virtual ICollection DimOrganizationsNavigation { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimPid.cs b/aspnetcore/src/DatabaseContext/Entities/DimPid.cs index 455869a..08582c6 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimPid.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimPid.cs @@ -1,54 +1,83 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimPid - { - public DimPid() - { - FactFieldValueDimPidIdOrcidPutCodeNavigations = new HashSet(); - FactFieldValueDimPids = new HashSet(); - } - - public int Id { get; set; } - public string PidContent { get; set; } = null!; - public string PidType { get; set; } = null!; - public int DimOrganizationId { get; set; } - public int DimKnownPersonId { get; set; } - public int DimPublicationId { get; set; } - public int DimServiceId { get; set; } - public int DimInfrastructureId { get; set; } - public int DimPublicationChannelId { get; set; } - public int DimResearchDatasetId { get; set; } - public int DimResearchDataCatalogId { get; set; } - public int DimResearchActivityId { get; set; } - public int DimEventId { get; set; } - public int DimProfileOnlyPublicationId { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int? DimProfileOnlyDatasetId { get; set; } - public int? DimProfileOnlyFundingDecisionId { get; set; } - public int? DimResearchProjectId { get; set; } - public int? DimResearchCommunityId { get; set; } - - public virtual DimEvent DimEvent { get; set; } = null!; - public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual DimProfileOnlyDataset? DimProfileOnlyDataset { get; set; } - public virtual DimProfileOnlyFundingDecision? DimProfileOnlyFundingDecision { get; set; } - public virtual DimProfileOnlyPublication DimProfileOnlyPublication { get; set; } = null!; - public virtual DimPublication DimPublication { get; set; } = null!; - public virtual DimPublicationChannel DimPublicationChannel { get; set; } = null!; - public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; - public virtual DimResearchCommunity? DimResearchCommunity { get; set; } - public virtual DimResearchDataCatalog DimResearchDataCatalog { get; set; } = null!; - public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; - public virtual DimService DimService { get; set; } = null!; - public virtual ICollection FactFieldValueDimPidIdOrcidPutCodeNavigations { get; set; } - public virtual ICollection FactFieldValueDimPids { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimPid +{ + public int Id { get; set; } + + public string PidContent { get; set; } = null!; + + public string PidType { get; set; } = null!; + + public int DimOrganizationId { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimPublicationId { get; set; } + + public int DimServiceId { get; set; } + + public int DimInfrastructureId { get; set; } + + public int DimPublicationChannelId { get; set; } + + public int DimResearchDatasetId { get; set; } + + public int DimResearchDataCatalogId { get; set; } + + public int DimResearchActivityId { get; set; } + + public int DimEventId { get; set; } + + public int DimProfileOnlyPublicationId { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int? DimProfileOnlyDatasetId { get; set; } + + public int? DimProfileOnlyFundingDecisionId { get; set; } + + public int? DimResearchProjectId { get; set; } + + public int? DimResearchCommunityId { get; set; } + + public virtual DimEvent DimEvent { get; set; } = null!; + + public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual DimProfileOnlyDataset? DimProfileOnlyDataset { get; set; } + + public virtual DimProfileOnlyFundingDecision? DimProfileOnlyFundingDecision { get; set; } + + public virtual DimProfileOnlyPublication DimProfileOnlyPublication { get; set; } = null!; + + public virtual DimPublication DimPublication { get; set; } = null!; + + public virtual DimPublicationChannel DimPublicationChannel { get; set; } = null!; + + public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; + + public virtual DimResearchCommunity? DimResearchCommunity { get; set; } + + public virtual DimResearchDataCatalog DimResearchDataCatalog { get; set; } = null!; + + public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; + + public virtual DimService DimService { get; set; } = null!; + + public virtual ICollection FactFieldValueDimPidIdOrcidPutCodeNavigations { get; set; } = new List(); + + public virtual ICollection FactFieldValueDimPids { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyDataset.cs b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyDataset.cs index 4f1f5f5..0c5f449 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyDataset.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyDataset.cs @@ -1,41 +1,55 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimProfileOnlyDataset - { - public DimProfileOnlyDataset() - { - DimPids = new HashSet(); - DimWebLinks = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int? DimReferencedataIdAvailability { get; set; } - public string? OrcidWorkType { get; set; } - public string? LocalIdentifier { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionUnd { get; set; } - public string? VersionInfo { get; set; } - public DateTime? DatasetCreated { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimReferencedatum? DimReferencedataIdAvailabilityNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimProfileOnlyDataset +{ + public int Id { get; set; } + + public int? DimReferencedataIdAvailability { get; set; } + + public string? OrcidWorkType { get; set; } + + public string? LocalIdentifier { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionUnd { get; set; } + + public string? VersionInfo { get; set; } + + public DateTime? DatasetCreated { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimReferencedatum? DimReferencedataIdAvailabilityNavigation { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyFundingDecision.cs b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyFundingDecision.cs index 0e18edc..25997f9 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyFundingDecision.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyFundingDecision.cs @@ -1,52 +1,77 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimProfileOnlyFundingDecision - { - public DimProfileOnlyFundingDecision() - { - DimPids = new HashSet(); - DimWebLinks = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int DimDateIdApproval { get; set; } - public int DimDateIdStart { get; set; } - public int DimDateIdEnd { get; set; } - public int DimCallProgrammeId { get; set; } - public int DimTypeOfFundingId { get; set; } - public int? DimOrganizationIdFunder { get; set; } - public string? OrcidWorkType { get; set; } - public string? FunderProjectNumber { get; set; } - public string? Acronym { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public decimal AmountInEur { get; set; } - public decimal? AmountInFundingDecisionCurrency { get; set; } - public string? FundingDecisionCurrencyAbbreviation { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimCallProgramme DimCallProgramme { get; set; } = null!; - public virtual DimDate DimDateIdApprovalNavigation { get; set; } = null!; - public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; - public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; - public virtual DimOrganization? DimOrganizationIdFunderNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimTypeOfFunding DimTypeOfFunding { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimProfileOnlyFundingDecision +{ + public int Id { get; set; } + + public int DimDateIdApproval { get; set; } + + public int DimDateIdStart { get; set; } + + public int DimDateIdEnd { get; set; } + + public int DimCallProgrammeId { get; set; } + + public int DimTypeOfFundingId { get; set; } + + public int? DimOrganizationIdFunder { get; set; } + + public string? OrcidWorkType { get; set; } + + public string? FunderProjectNumber { get; set; } + + public string? Acronym { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public decimal AmountInEur { get; set; } + + public decimal? AmountInFundingDecisionCurrency { get; set; } + + public string? FundingDecisionCurrencyAbbreviation { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimCallProgramme DimCallProgramme { get; set; } = null!; + + public virtual DimDate DimDateIdApprovalNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; + + public virtual DimOrganization? DimOrganizationIdFunderNavigation { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimTypeOfFunding DimTypeOfFunding { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyPublication.cs b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyPublication.cs index f1b0a60..196484e 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyPublication.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyPublication.cs @@ -1,82 +1,125 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimProfileOnlyPublication - { - public DimProfileOnlyPublication() - { - DimPids = new HashSet(); - FactFieldValues = new HashSet(); - InverseDimProfileOnlyPublicationNavigation = new HashSet(); - } - - public int Id { get; set; } - public int? DimProfileOnlyPublicationId { get; set; } - public int ParentTypeClassificationCode { get; set; } - /// - /// code_schema = 'julkaisutyyppiluokitus' - /// - public int TypeClassificationCode { get; set; } - /// - /// code_scheme = 'julkaisumuoto' - /// - public int PublicationFormatCode { get; set; } - /// - /// code_scheme = 'Artikkelintyyppikoodi' - /// - public int ArticleTypeCode { get; set; } - /// - /// code_scheme = 'julkaisunyleiso' - /// - public int TargetAudienceCode { get; set; } - public string? OrcidWorkType { get; set; } - public string PublicationName { get; set; } = null!; - public string? ConferenceName { get; set; } - public string? ShortDescription { get; set; } - public int? PublicationYear { get; set; } - public string PublicationId { get; set; } = null!; - public string AuthorsText { get; set; } = null!; - public int? NumberOfAuthors { get; set; } - public string? PageNumberText { get; set; } - public string? ArticleNumberText { get; set; } - public string? IssueNumber { get; set; } - public string? Volume { get; set; } - public int PublicationCountryCode { get; set; } - public string? PublisherName { get; set; } - public string? PublisherLocation { get; set; } - public string? ParentPublicationName { get; set; } - public string? ParentPublicationEditors { get; set; } - public int LicenseCode { get; set; } - public string? OpenAccessCode { get; set; } - public string? OriginalPublicationId { get; set; } - public bool? PeerReviewed { get; set; } - public bool? Report { get; set; } - public int ThesisTypeCode { get; set; } - public string? DoiHandle { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimKnownPersonId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public int LanguageCode { get; set; } - - public virtual DimReferencedatum ArticleTypeCodeNavigation { get; set; } = null!; - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimProfileOnlyPublication? DimProfileOnlyPublicationNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimReferencedatum LanguageCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum LicenseCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum ParentTypeClassificationCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum PublicationCountryCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum PublicationFormatCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum TargetAudienceCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum ThesisTypeCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum TypeClassificationCodeNavigation { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection FactFieldValues { get; set; } - public virtual ICollection InverseDimProfileOnlyPublicationNavigation { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimProfileOnlyPublication +{ + public int Id { get; set; } + + public int? DimProfileOnlyPublicationId { get; set; } + + public int ParentTypeClassificationCode { get; set; } + + /// + /// code_schema = 'julkaisutyyppiluokitus' + /// + public int TypeClassificationCode { get; set; } + + /// + /// code_scheme = 'julkaisumuoto' + /// + public int PublicationFormatCode { get; set; } + + /// + /// code_scheme = 'Artikkelintyyppikoodi' + /// + public int ArticleTypeCode { get; set; } + + /// + /// code_scheme = 'julkaisunyleiso' + /// + public int TargetAudienceCode { get; set; } + + public string? OrcidWorkType { get; set; } + + public string PublicationName { get; set; } = null!; + + public string? ConferenceName { get; set; } + + public string? ShortDescription { get; set; } + + public int? PublicationYear { get; set; } + + public string PublicationId { get; set; } = null!; + + public string AuthorsText { get; set; } = null!; + + public int? NumberOfAuthors { get; set; } + + public string? PageNumberText { get; set; } + + public string? ArticleNumberText { get; set; } + + public string? IssueNumber { get; set; } + + public string? Volume { get; set; } + + public int PublicationCountryCode { get; set; } + + public string? PublisherName { get; set; } + + public string? PublisherLocation { get; set; } + + public string? ParentPublicationName { get; set; } + + public string? ParentPublicationEditors { get; set; } + + public int LicenseCode { get; set; } + + public string? OpenAccessCode { get; set; } + + public string? OriginalPublicationId { get; set; } + + public bool? PeerReviewed { get; set; } + + public bool? Report { get; set; } + + public int ThesisTypeCode { get; set; } + + public string? DoiHandle { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public int LanguageCode { get; set; } + + public virtual DimReferencedatum ArticleTypeCodeNavigation { get; set; } = null!; + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimProfileOnlyPublication? DimProfileOnlyPublicationNavigation { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection InverseDimProfileOnlyPublicationNavigation { get; set; } = new List(); + + public virtual DimReferencedatum LanguageCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum LicenseCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum ParentTypeClassificationCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum PublicationCountryCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum PublicationFormatCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum TargetAudienceCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum ThesisTypeCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum TypeClassificationCodeNavigation { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyResearchActivity.cs b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyResearchActivity.cs index 1f1cf6c..44efdb3 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyResearchActivity.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimProfileOnlyResearchActivity.cs @@ -1,45 +1,65 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimProfileOnlyResearchActivity - { - public DimProfileOnlyResearchActivity() - { - DimWebLinks = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int DimDateIdStart { get; set; } - public int DimDateIdEnd { get; set; } - public int? DimGeoIdCountry { get; set; } - public int DimOrganizationId { get; set; } - public int DimEventId { get; set; } - public string? LocalIdentifier { get; set; } - public string? OrcidWorkType { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public string? IndentifierlessTargetOrg { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; - public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; - public virtual DimEvent DimEvent { get; set; } = null!; - public virtual DimGeo? DimGeoIdCountryNavigation { get; set; } - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimProfileOnlyResearchActivity +{ + public int Id { get; set; } + + public int DimDateIdStart { get; set; } + + public int DimDateIdEnd { get; set; } + + public int? DimGeoIdCountry { get; set; } + + public int DimOrganizationId { get; set; } + + public int DimEventId { get; set; } + + public string? LocalIdentifier { get; set; } + + public string? OrcidWorkType { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public string? IndentifierlessTargetOrg { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; + + public virtual DimEvent DimEvent { get; set; } = null!; + + public virtual DimGeo? DimGeoIdCountryNavigation { get; set; } + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs b/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs index 44f218e..e722dea 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimPublication.cs @@ -1,103 +1,167 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimPublication - { - public DimPublication() - { - DimLocallyReportedPubInfos = new HashSet(); - DimPids = new HashSet(); - FactContributions = new HashSet(); - FactDimReferencedataFieldOfSciences = new HashSet(); - FactFieldValues = new HashSet(); - DimKeywords = new HashSet(); - DimReferencedata = new HashSet(); - DimReferencedataNavigation = new HashSet(); - } - - public int Id { get; set; } - public int? ReportingYear { get; set; } - public string PublicationId { get; set; } = null!; - public int PublicationStatusCode { get; set; } - public string PublicationOrgId { get; set; } = null!; - public string PublicationName { get; set; } = null!; - public string AuthorsText { get; set; } = null!; - public int? NumberOfAuthors { get; set; } - public string? PageNumberText { get; set; } - public string? ArticleNumberText { get; set; } - public string? Isbn { get; set; } - public string? Isbn2 { get; set; } - public int PublicationCountryCode { get; set; } - public string? JournalName { get; set; } - public string? Issn { get; set; } - public string? Issn2 { get; set; } - public string? Volume { get; set; } - public string? IssueNumber { get; set; } - public string? ConferenceName { get; set; } - public string? PublisherName { get; set; } - public string? PublisherLocation { get; set; } - public string? ParentPublicationName { get; set; } - public string? ParentPublicationPublisher { get; set; } - public int PublicationTypeCode { get; set; } - public bool? InternationalCollaboration { get; set; } - public bool HospitalDistrictCollaboration { get; set; } - public int InternationalPublication { get; set; } - public bool GovermentCollaboration { get; set; } - public bool OtherCollaboration { get; set; } - public int LanguageCode { get; set; } - public bool SpecialStateSubsidy { get; set; } - public bool? BusinessCollaboration { get; set; } - public string? DoiHandle { get; set; } - public string? JuuliAddress { get; set; } - public string? OriginalPublicationId { get; set; } - public string? Doi { get; set; } - public int? PublicationYear { get; set; } - public int LicenseCode { get; set; } - public decimal? ApcFeeEur { get; set; } - public int? ApcPaymentYear { get; set; } - public int? PublicationTypeCode2 { get; set; } - public int? TargetAudienceCode { get; set; } - public int? ParentPublicationTypeCode { get; set; } - public int? ArticleTypeCode { get; set; } - public bool? PeerReviewed { get; set; } - public bool? Report { get; set; } - public int ThesisTypeCode { get; set; } - public bool? SelfArchivedCode { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public string? OpenAccess { get; set; } - public int PublisherOpenAccessCode { get; set; } - public string? Abstract { get; set; } - public int DimPublicationChannelId { get; set; } - public int JufoClass { get; set; } - - public virtual DimReferencedatum? ArticleTypeCodeNavigation { get; set; } - public virtual DimPublicationChannel DimPublicationChannel { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimReferencedatum JufoClassNavigation { get; set; } = null!; - public virtual DimReferencedatum LanguageCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum LicenseCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum? ParentPublicationTypeCodeNavigation { get; set; } - public virtual DimReferencedatum PublicationCountryCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum PublicationStatusCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum? PublicationTypeCode2Navigation { get; set; } - public virtual DimReferencedatum PublicationTypeCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum PublisherOpenAccessCodeNavigation { get; set; } = null!; - public virtual DimReferencedatum? TargetAudienceCodeNavigation { get; set; } - public virtual DimReferencedatum ThesisTypeCodeNavigation { get; set; } = null!; - public virtual ICollection DimLocallyReportedPubInfos { get; set; } - public virtual ICollection DimPids { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } - public virtual ICollection FactFieldValues { get; set; } - - public virtual ICollection DimKeywords { get; set; } - public virtual ICollection DimReferencedata { get; set; } - public virtual ICollection DimReferencedataNavigation { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimPublication +{ + public int Id { get; set; } + + public int? ReportingYear { get; set; } + + public string PublicationId { get; set; } = null!; + + public int PublicationStatusCode { get; set; } + + public string PublicationOrgId { get; set; } = null!; + + public string PublicationName { get; set; } = null!; + + public string AuthorsText { get; set; } = null!; + + public int? NumberOfAuthors { get; set; } + + public string? PageNumberText { get; set; } + + public string? ArticleNumberText { get; set; } + + public string? Isbn { get; set; } + + public string? Isbn2 { get; set; } + + public int PublicationCountryCode { get; set; } + + public string? JournalName { get; set; } + + public string? Issn { get; set; } + + public string? Issn2 { get; set; } + + public string? Volume { get; set; } + + public string? IssueNumber { get; set; } + + public string? ConferenceName { get; set; } + + public string? PublisherName { get; set; } + + public string? PublisherLocation { get; set; } + + public string? ParentPublicationName { get; set; } + + public string? ParentPublicationPublisher { get; set; } + + public int PublicationTypeCode { get; set; } + + public bool? InternationalCollaboration { get; set; } + + public bool HospitalDistrictCollaboration { get; set; } + + public int InternationalPublication { get; set; } + + public bool GovermentCollaboration { get; set; } + + public bool OtherCollaboration { get; set; } + + public int LanguageCode { get; set; } + + public bool SpecialStateSubsidy { get; set; } + + public bool? BusinessCollaboration { get; set; } + + public string? DoiHandle { get; set; } + + public string? JuuliAddress { get; set; } + + public string? OriginalPublicationId { get; set; } + + public string? Doi { get; set; } + + public int? PublicationYear { get; set; } + + public int LicenseCode { get; set; } + + public decimal? ApcFeeEur { get; set; } + + public int? ApcPaymentYear { get; set; } + + public int? PublicationTypeCode2 { get; set; } + + public int? TargetAudienceCode { get; set; } + + public int? ParentPublicationTypeCode { get; set; } + + public int? ArticleTypeCode { get; set; } + + public bool? PeerReviewed { get; set; } + + public bool? Report { get; set; } + + public int ThesisTypeCode { get; set; } + + public bool? SelfArchivedCode { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public string? OpenAccess { get; set; } + + public int PublisherOpenAccessCode { get; set; } + + public string? Abstract { get; set; } + + public int DimPublicationChannelId { get; set; } + + public int JufoClass { get; set; } + + public virtual DimReferencedatum? ArticleTypeCodeNavigation { get; set; } + + public virtual ICollection DimLocallyReportedPubInfos { get; set; } = new List(); + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimPublicationChannel DimPublicationChannel { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual DimReferencedatum JufoClassNavigation { get; set; } = null!; + + public virtual DimReferencedatum LanguageCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum LicenseCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum? ParentPublicationTypeCodeNavigation { get; set; } + + public virtual DimReferencedatum PublicationCountryCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum PublicationStatusCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum? PublicationTypeCode2Navigation { get; set; } + + public virtual DimReferencedatum PublicationTypeCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum PublisherOpenAccessCodeNavigation { get; set; } = null!; + + public virtual DimReferencedatum? TargetAudienceCodeNavigation { get; set; } + + public virtual DimReferencedatum ThesisTypeCodeNavigation { get; set; } = null!; + + public virtual ICollection DimKeywords { get; set; } = new List(); + + public virtual ICollection DimReferencedata { get; set; } = new List(); + + public virtual ICollection DimReferencedataNavigation { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs b/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs index 4146138..9f3417f 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimPublicationChannel.cs @@ -1,28 +1,29 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimPublicationChannel - { - public DimPublicationChannel() - { - DimPids = new HashSet(); - DimPublications = new HashSet(); - DimResearchActivities = new HashSet(); - } - - public int Id { get; set; } - public string? JufoCode { get; set; } - public string? ChannelNameAnylang { get; set; } - public string? PublisherNameText { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimPublications { get; set; } - public virtual ICollection DimResearchActivities { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimPublicationChannel +{ + public int Id { get; set; } + + public string? JufoCode { get; set; } + + public string? ChannelNameAnylang { get; set; } + + public string? PublisherNameText { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection DimPublications { get; set; } = new List(); + + public virtual ICollection DimResearchActivities { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimPurpose.cs b/aspnetcore/src/DatabaseContext/Entities/DimPurpose.cs index 63fe676..4f9d1fa 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimPurpose.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimPurpose.cs @@ -1,30 +1,37 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimPurpose - { - public DimPurpose() - { - BrGrantedPermissions = new HashSet(); - } - - public int Id { get; set; } - public int DimOrganizationId { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual ICollection BrGrantedPermissions { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimPurpose +{ + public int Id { get; set; } + + public int DimOrganizationId { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection BrGrantedPermissions { get; set; } = new List(); + + public virtual DimOrganization DimOrganization { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs b/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs index 3621a53..f06b28b 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimReferencedatum.cs @@ -1,113 +1,119 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimReferencedatum - { - public DimReferencedatum() - { - BrGrantedPermissions = new HashSet(); - DimAffiliations = new HashSet(); - DimCallDecisions = new HashSet(); - DimCallProgrammesNavigation = new HashSet(); - DimEducations = new HashSet(); - DimFundingDecisions = new HashSet(); - DimLocallyReportedPubInfoSelfArchivedLicenseCodeNavigations = new HashSet(); - DimLocallyReportedPubInfoSelfArchivedVersionCodeNavigations = new HashSet(); - DimProfileOnlyDatasets = new HashSet(); - DimProfileOnlyPublicationArticleTypeCodeNavigations = new HashSet(); - DimProfileOnlyPublicationLanguageCodeNavigations = new HashSet(); - DimProfileOnlyPublicationLicenseCodeNavigations = new HashSet(); - DimProfileOnlyPublicationParentTypeClassificationCodeNavigations = new HashSet(); - DimProfileOnlyPublicationPublicationCountryCodeNavigations = new HashSet(); - DimProfileOnlyPublicationPublicationFormatCodeNavigations = new HashSet(); - DimProfileOnlyPublicationTargetAudienceCodeNavigations = new HashSet(); - DimProfileOnlyPublicationThesisTypeCodeNavigations = new HashSet(); - DimProfileOnlyPublicationTypeClassificationCodeNavigations = new HashSet(); - DimPublicationArticleTypeCodeNavigations = new HashSet(); - DimPublicationJufoClassNavigations = new HashSet(); - DimPublicationLanguageCodeNavigations = new HashSet(); - DimPublicationLicenseCodeNavigations = new HashSet(); - DimPublicationParentPublicationTypeCodeNavigations = new HashSet(); - DimPublicationPublicationCountryCodeNavigations = new HashSet(); - DimPublicationPublicationStatusCodeNavigations = new HashSet(); - DimPublicationPublicationTypeCode2Navigations = new HashSet(); - DimPublicationPublicationTypeCodeNavigations = new HashSet(); - DimPublicationPublisherOpenAccessCodeNavigations = new HashSet(); - DimPublicationTargetAudienceCodeNavigations = new HashSet(); - DimPublicationThesisTypeCodeNavigations = new HashSet(); - DimResearchDatasetDimReferencedataAvailabilityNavigations = new HashSet(); - DimResearchDatasetDimReferencedataLicenseNavigations = new HashSet(); - DimUserChoices = new HashSet(); - FactContributions = new HashSet(); - FactDimReferencedataFieldOfSciences = new HashSet(); - FactFieldValueDimReferencedataActorRoles = new HashSet(); - FactFieldValueDimReferencedataFieldOfSciences = new HashSet(); - InverseDimReferencedata = new HashSet(); - DimCallProgrammes = new HashSet(); - DimPublications = new HashSet(); - DimPublicationsNavigation = new HashSet(); - DimResearchDatasets = new HashSet(); - } - - public int Id { get; set; } - public string CodeScheme { get; set; } = null!; - public string CodeValue { get; set; } = null!; - public string? NameFi { get; set; } - public string? NameEn { get; set; } - public string? NameSv { get; set; } - public string SourceId { get; set; } = null!; - public string SourceDescription { get; set; } = null!; - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string? State { get; set; } - public int DimReferencedataId { get; set; } - public int? Order { get; set; } - - public virtual DimReferencedatum DimReferencedata { get; set; } = null!; - public virtual ICollection BrGrantedPermissions { get; set; } - public virtual ICollection DimAffiliations { get; set; } - public virtual ICollection DimCallDecisions { get; set; } - public virtual ICollection DimCallProgrammesNavigation { get; set; } - public virtual ICollection DimEducations { get; set; } - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimLocallyReportedPubInfoSelfArchivedLicenseCodeNavigations { get; set; } - public virtual ICollection DimLocallyReportedPubInfoSelfArchivedVersionCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyDatasets { get; set; } - public virtual ICollection DimProfileOnlyPublicationArticleTypeCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationLanguageCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationLicenseCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationParentTypeClassificationCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationPublicationCountryCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationPublicationFormatCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationTargetAudienceCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationThesisTypeCodeNavigations { get; set; } - public virtual ICollection DimProfileOnlyPublicationTypeClassificationCodeNavigations { get; set; } - public virtual ICollection DimPublicationArticleTypeCodeNavigations { get; set; } - public virtual ICollection DimPublicationJufoClassNavigations { get; set; } - public virtual ICollection DimPublicationLanguageCodeNavigations { get; set; } - public virtual ICollection DimPublicationLicenseCodeNavigations { get; set; } - public virtual ICollection DimPublicationParentPublicationTypeCodeNavigations { get; set; } - public virtual ICollection DimPublicationPublicationCountryCodeNavigations { get; set; } - public virtual ICollection DimPublicationPublicationStatusCodeNavigations { get; set; } - public virtual ICollection DimPublicationPublicationTypeCode2Navigations { get; set; } - public virtual ICollection DimPublicationPublicationTypeCodeNavigations { get; set; } - public virtual ICollection DimPublicationPublisherOpenAccessCodeNavigations { get; set; } - public virtual ICollection DimPublicationTargetAudienceCodeNavigations { get; set; } - public virtual ICollection DimPublicationThesisTypeCodeNavigations { get; set; } - public virtual ICollection DimResearchDatasetDimReferencedataAvailabilityNavigations { get; set; } - public virtual ICollection DimResearchDatasetDimReferencedataLicenseNavigations { get; set; } - public virtual ICollection DimUserChoices { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } - public virtual ICollection FactFieldValueDimReferencedataActorRoles { get; set; } - public virtual ICollection FactFieldValueDimReferencedataFieldOfSciences { get; set; } - public virtual ICollection InverseDimReferencedata { get; set; } - - public virtual ICollection DimCallProgrammes { get; set; } - public virtual ICollection DimPublications { get; set; } - public virtual ICollection DimPublicationsNavigation { get; set; } - public virtual ICollection DimResearchDatasets { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimReferencedatum +{ + public int Id { get; set; } + + public string CodeScheme { get; set; } = null!; + + public string CodeValue { get; set; } = null!; + + public string? NameFi { get; set; } + + public string? NameEn { get; set; } + + public string? NameSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string SourceDescription { get; set; } = null!; + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string? State { get; set; } + + public int DimReferencedataId { get; set; } + + public int? Order { get; set; } + + public virtual ICollection BrGrantedPermissions { get; set; } = new List(); + + public virtual ICollection DimAffiliations { get; set; } = new List(); + + public virtual ICollection DimCallDecisions { get; set; } = new List(); + + public virtual ICollection DimCallProgrammesNavigation { get; set; } = new List(); + + public virtual ICollection DimEducations { get; set; } = new List(); + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimLocallyReportedPubInfoSelfArchivedLicenseCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimLocallyReportedPubInfoSelfArchivedVersionCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyDatasets { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationArticleTypeCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationLanguageCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationLicenseCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationParentTypeClassificationCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationPublicationCountryCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationPublicationFormatCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationTargetAudienceCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationThesisTypeCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublicationTypeClassificationCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationArticleTypeCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationJufoClassNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationLanguageCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationLicenseCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationParentPublicationTypeCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationPublicationCountryCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationPublicationStatusCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationPublicationTypeCode2Navigations { get; set; } = new List(); + + public virtual ICollection DimPublicationPublicationTypeCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationPublisherOpenAccessCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationTargetAudienceCodeNavigations { get; set; } = new List(); + + public virtual ICollection DimPublicationThesisTypeCodeNavigations { get; set; } = new List(); + + public virtual DimReferencedatum DimReferencedata { get; set; } = null!; + + public virtual ICollection DimResearchDatasetDimReferencedataAvailabilityNavigations { get; set; } = new List(); + + public virtual ICollection DimResearchDatasetDimReferencedataLicenseNavigations { get; set; } = new List(); + + public virtual ICollection DimUserChoices { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } = new List(); + + public virtual ICollection FactFieldValueDimReferencedataActorRoles { get; set; } = new List(); + + public virtual ICollection FactFieldValueDimReferencedataFieldOfSciences { get; set; } = new List(); + + public virtual ICollection InverseDimReferencedata { get; set; } = new List(); + + public virtual ICollection DimCallProgrammes { get; set; } = new List(); + + public virtual ICollection DimPublications { get; set; } = new List(); + + public virtual ICollection DimPublicationsNavigation { get; set; } = new List(); + + public virtual ICollection DimResearchDatasets { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimRegisteredDataSource.cs b/aspnetcore/src/DatabaseContext/Entities/DimRegisteredDataSource.cs index 06199b1..bf34048 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimRegisteredDataSource.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimRegisteredDataSource.cs @@ -1,75 +1,75 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimRegisteredDataSource - { - public DimRegisteredDataSource() - { - DimAffiliations = new HashSet(); - DimCallProgrammes = new HashSet(); - DimCompetences = new HashSet(); - DimEducations = new HashSet(); - DimEmailAddrresses = new HashSet(); - DimEvents = new HashSet(); - DimFundingDecisions = new HashSet(); - DimKeywords = new HashSet(); - DimKnownPeople = new HashSet(); - DimNames = new HashSet(); - DimOrganizations = new HashSet(); - DimProfileOnlyDatasets = new HashSet(); - DimProfileOnlyFundingDecisions = new HashSet(); - DimProfileOnlyPublications = new HashSet(); - DimProfileOnlyResearchActivities = new HashSet(); - DimPublications = new HashSet(); - DimResearchActivities = new HashSet(); - DimResearchCommunities = new HashSet(); - DimResearchDatasets = new HashSet(); - DimResearchProjects = new HashSet(); - DimResearcherDescriptions = new HashSet(); - DimResearcherToResearchCommunities = new HashSet(); - DimTelephoneNumbers = new HashSet(); - DimWebLinks = new HashSet(); - FactFieldValues = new HashSet(); - DimFieldDisplaySettings = new HashSet(); - } - - public int Id { get; set; } - public int DimOrganizationId { get; set; } - public string Name { get; set; } = null!; - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Modified { get; set; } - public DateTime? Created { get; set; } - - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual ICollection DimAffiliations { get; set; } - public virtual ICollection DimCallProgrammes { get; set; } - public virtual ICollection DimCompetences { get; set; } - public virtual ICollection DimEducations { get; set; } - public virtual ICollection DimEmailAddrresses { get; set; } - public virtual ICollection DimEvents { get; set; } - public virtual ICollection DimFundingDecisions { get; set; } - public virtual ICollection DimKeywords { get; set; } - public virtual ICollection DimKnownPeople { get; set; } - public virtual ICollection DimNames { get; set; } - public virtual ICollection DimOrganizations { get; set; } - public virtual ICollection DimProfileOnlyDatasets { get; set; } - public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } - public virtual ICollection DimProfileOnlyPublications { get; set; } - public virtual ICollection DimProfileOnlyResearchActivities { get; set; } - public virtual ICollection DimPublications { get; set; } - public virtual ICollection DimResearchActivities { get; set; } - public virtual ICollection DimResearchCommunities { get; set; } - public virtual ICollection DimResearchDatasets { get; set; } - public virtual ICollection DimResearchProjects { get; set; } - public virtual ICollection DimResearcherDescriptions { get; set; } - public virtual ICollection DimResearcherToResearchCommunities { get; set; } - public virtual ICollection DimTelephoneNumbers { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactFieldValues { get; set; } - - public virtual ICollection DimFieldDisplaySettings { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimRegisteredDataSource +{ + public int Id { get; set; } + + public int DimOrganizationId { get; set; } + + public string Name { get; set; } = null!; + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Modified { get; set; } + + public DateTime? Created { get; set; } + + public virtual ICollection DimAffiliations { get; set; } = new List(); + + public virtual ICollection DimCallProgrammes { get; set; } = new List(); + + public virtual ICollection DimCompetences { get; set; } = new List(); + + public virtual ICollection DimEducations { get; set; } = new List(); + + public virtual ICollection DimEmailAddrresses { get; set; } = new List(); + + public virtual ICollection DimEvents { get; set; } = new List(); + + public virtual ICollection DimFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimKeywords { get; set; } = new List(); + + public virtual ICollection DimKnownPeople { get; set; } = new List(); + + public virtual ICollection DimNames { get; set; } = new List(); + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual ICollection DimOrganizations { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyDatasets { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyPublications { get; set; } = new List(); + + public virtual ICollection DimProfileOnlyResearchActivities { get; set; } = new List(); + + public virtual ICollection DimPublications { get; set; } = new List(); + + public virtual ICollection DimResearchActivities { get; set; } = new List(); + + public virtual ICollection DimResearchCommunities { get; set; } = new List(); + + public virtual ICollection DimResearchDatasets { get; set; } = new List(); + + public virtual ICollection DimResearchProjects { get; set; } = new List(); + + public virtual ICollection DimResearcherDescriptions { get; set; } = new List(); + + public virtual ICollection DimResearcherToResearchCommunities { get; set; } = new List(); + + public virtual ICollection DimTelephoneNumbers { get; set; } = new List(); + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection DimFieldDisplaySettings { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearchActivity.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearchActivity.cs index f51d1eb..0e0731f 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearchActivity.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearchActivity.cs @@ -1,53 +1,75 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearchActivity - { - public DimResearchActivity() - { - DimPids = new HashSet(); - DimResearchActivityDimKeywords = new HashSet(); - DimWebLinks = new HashSet(); - FactContributions = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? LocalIdentifier { get; set; } - public bool InternationalCollaboration { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public string? IndentifierlessTargetOrg { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimStartDate { get; set; } - public int DimEndDate { get; set; } - public int? DimCountryCode { get; set; } - public int? DimPublicationChannelId { get; set; } - public int DimEventId { get; set; } - public int DimOrganizationId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimGeo? DimCountryCodeNavigation { get; set; } - public virtual DimDate DimEndDateNavigation { get; set; } = null!; - public virtual DimEvent DimEvent { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual DimPublicationChannel? DimPublicationChannel { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimDate DimStartDateNavigation { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimResearchActivityDimKeywords { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearchActivity +{ + public int Id { get; set; } + + public string? LocalIdentifier { get; set; } + + public bool InternationalCollaboration { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public string? IndentifierlessTargetOrg { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimStartDate { get; set; } + + public int DimEndDate { get; set; } + + public int? DimCountryCode { get; set; } + + public int? DimPublicationChannelId { get; set; } + + public int DimEventId { get; set; } + + public int DimOrganizationId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimGeo? DimCountryCodeNavigation { get; set; } + + public virtual DimDate DimEndDateNavigation { get; set; } = null!; + + public virtual DimEvent DimEvent { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimPublicationChannel? DimPublicationChannel { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimResearchActivityDimKeywords { get; set; } = new List(); + + public virtual DimDate DimStartDateNavigation { get; set; } = null!; + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearchActivityDimKeyword.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearchActivityDimKeyword.cs index 415dc41..b40e745 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearchActivityDimKeyword.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearchActivityDimKeyword.cs @@ -1,13 +1,13 @@ -using System; -using System.Collections.Generic; +using System; +using System.Collections.Generic; -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearchActivityDimKeyword - { - public int DimResearchActivityId { get; set; } - public int DimKeywordId { get; set; } +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearchActivityDimKeyword +{ + public int DimResearchActivityId { get; set; } - public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; - } -} + public int DimKeywordId { get; set; } + + public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearchCommunity.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearchCommunity.cs index e55b62c..3000fc4 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearchCommunity.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearchCommunity.cs @@ -1,39 +1,47 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearchCommunity - { - public DimResearchCommunity() - { - DimPids = new HashSet(); - DimResearcherToResearchCommunities = new HashSet(); - DimWebLinks = new HashSet(); - FactContributions = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? Acronym { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimResearcherToResearchCommunities { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearchCommunity +{ + public int Id { get; set; } + + public string? Acronym { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection DimResearcherToResearchCommunities { get; set; } = new List(); + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearchDataCatalog.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearchDataCatalog.cs index 7fc9cf2..e57a122 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearchDataCatalog.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearchDataCatalog.cs @@ -1,33 +1,37 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearchDataCatalog - { - public DimResearchDataCatalog() - { - DimPids = new HashSet(); - DimResearchDatasets = new HashSet(); - DimWebLinks = new HashSet(); - FactContributions = new HashSet(); - } - - public int Id { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimResearchDatasets { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactContributions { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearchDataCatalog +{ + public int Id { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection DimResearchDatasets { get; set; } = new List(); + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearchDataset.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearchDataset.cs index 0b3c7e5..ed3d040 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearchDataset.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearchDataset.cs @@ -1,62 +1,83 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearchDataset - { - public DimResearchDataset() - { - BrDatasetDatasetRelationshipDimResearchDatasetId2Navigations = new HashSet(); - BrDatasetDatasetRelationshipDimResearchDatasets = new HashSet(); - DimPids = new HashSet(); - DimWebLinks = new HashSet(); - FactContributions = new HashSet(); - FactDimReferencedataFieldOfSciences = new HashSet(); - FactFieldValues = new HashSet(); - DimKeywords = new HashSet(); - DimReferencedata = new HashSet(); - } - - public int Id { get; set; } - public int? DimResearchDataCatalogId { get; set; } - public int? DimReferencedataLicense { get; set; } - public int? DimReferencedataAvailability { get; set; } - public string? LocalIdentifier { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public bool? InternationalCollaboration { get; set; } - public DateTime? DatasetCreated { get; set; } - public DateTime? DatasetModified { get; set; } - public DateTime? TemporalCoverageStart { get; set; } - public DateTime? TemporalCoverageEnd { get; set; } - public string? GeographicCoverage { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string? NameUnd { get; set; } - public string? DescriptionUnd { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public string? VersionInfo { get; set; } - - public virtual DimReferencedatum? DimReferencedataAvailabilityNavigation { get; set; } - public virtual DimReferencedatum? DimReferencedataLicenseNavigation { get; set; } - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimResearchDataCatalog? DimResearchDataCatalog { get; set; } - public virtual ICollection BrDatasetDatasetRelationshipDimResearchDatasetId2Navigations { get; set; } - public virtual ICollection BrDatasetDatasetRelationshipDimResearchDatasets { get; set; } - public virtual ICollection DimPids { get; set; } - public virtual ICollection DimWebLinks { get; set; } - public virtual ICollection FactContributions { get; set; } - public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } - public virtual ICollection FactFieldValues { get; set; } - - public virtual ICollection DimKeywords { get; set; } - public virtual ICollection DimReferencedata { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearchDataset +{ + public int Id { get; set; } + + public int? DimResearchDataCatalogId { get; set; } + + public int? DimReferencedataLicense { get; set; } + + public int? DimReferencedataAvailability { get; set; } + + public string? LocalIdentifier { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public bool? InternationalCollaboration { get; set; } + + public DateTime? DatasetCreated { get; set; } + + public DateTime? DatasetModified { get; set; } + + public DateTime? TemporalCoverageStart { get; set; } + + public DateTime? TemporalCoverageEnd { get; set; } + + public string? GeographicCoverage { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string? NameUnd { get; set; } + + public string? DescriptionUnd { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public string? VersionInfo { get; set; } + + public virtual ICollection BrDatasetDatasetRelationshipDimResearchDatasetId2Navigations { get; set; } = new List(); + + public virtual ICollection BrDatasetDatasetRelationshipDimResearchDatasets { get; set; } = new List(); + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual DimReferencedatum? DimReferencedataAvailabilityNavigation { get; set; } + + public virtual DimReferencedatum? DimReferencedataLicenseNavigation { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimResearchDataCatalog? DimResearchDataCatalog { get; set; } + + public virtual ICollection DimWebLinks { get; set; } = new List(); + + public virtual ICollection FactContributions { get; set; } = new List(); + + public virtual ICollection FactDimReferencedataFieldOfSciences { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual ICollection DimKeywords { get; set; } = new List(); + + public virtual ICollection DimReferencedata { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearchProject.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearchProject.cs index 87dc836..1933eb9 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearchProject.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearchProject.cs @@ -1,64 +1,85 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearchProject - { - public int Id { get; set; } - /// - /// Hanke - vastuuorganisaatio - /// - public int ResponsibleOrganization { get; set; } - /// - /// Hanke - nimi - /// - public string? NameFi { get; set; } - public string? NameEn { get; set; } - public string? NameSv { get; set; } - /// - /// Hanke - lyhenne - /// - public string? AbbrevationFi { get; set; } - public string? AbbrevationEn { get; set; } - public string? AbbrevationSv { get; set; } - /// - /// Hanke - tiivistelmä - /// - public string? SummaryFi { get; set; } - public string? SummaryEn { get; set; } - public string? SummarySv { get; set; } - /// - /// Hanke - lisätieto - /// - public string? AdditionalInfromationFi { get; set; } - public string? AdditionalInformationEn { get; set; } - public string? AddtitionalInformationSv { get; set; } - /// - /// Hanke - alkamispäivämäärä - /// - public int? StartDate { get; set; } - /// - /// Hanke - päättymispäivämäärä - /// - public int? EndDate { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public int? ResponsiblePerson { get; set; } - public string? GoalsFi { get; set; } - public string? GoalsEn { get; set; } - public string? GoalsSv { get; set; } - public string? OutcomeEffectFi { get; set; } - public string? OutcomeEffectEn { get; set; } - public string? OutcomeEffectSv { get; set; } - - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimDate? EndDateNavigation { get; set; } - public virtual DimOrganization ResponsibleOrganizationNavigation { get; set; } = null!; - public virtual DimName? ResponsiblePersonNavigation { get; set; } - public virtual DimDate? StartDateNavigation { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearchProject +{ + public int Id { get; set; } + + /// + /// Hanke - vastuuorganisaatio + /// + public int ResponsibleOrganization { get; set; } + + /// + /// Hanke - nimi + /// + public string? NameFi { get; set; } + + public string? NameEn { get; set; } + + public string? NameSv { get; set; } + + /// + /// Hanke - lyhenne + /// + public string? AbbrevationFi { get; set; } + + public string? AbbrevationEn { get; set; } + + public string? AbbrevationSv { get; set; } + + /// + /// Hanke - tiivistelmä + /// + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + /// + /// Hanke - alkamispäivämäärä + /// + public int? StartDate { get; set; } + + /// + /// Hanke - päättymispäivämäärä + /// + public int? EndDate { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public int? ResponsiblePerson { get; set; } + + public string? GoalsFi { get; set; } + + public string? GoalsEn { get; set; } + + public string? GoalsSv { get; set; } + + public string? OutcomeEffectFi { get; set; } + + public string? OutcomeEffectEn { get; set; } + + public string? OutcomeEffectSv { get; set; } + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimDate? EndDateNavigation { get; set; } + + public virtual DimOrganization ResponsibleOrganizationNavigation { get; set; } = null!; + + public virtual DimName? ResponsiblePersonNavigation { get; set; } + + public virtual DimDate? StartDateNavigation { get; set; } +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearcherDescription.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearcherDescription.cs index 7749fb2..d809191 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearcherDescription.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearcherDescription.cs @@ -1,29 +1,35 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearcherDescription - { - public DimResearcherDescription() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int? DescriptionType { get; set; } - public string? ResearchDescriptionFi { get; set; } - public string? ResearchDescriptionEn { get; set; } - public string? ResearchDescriptionSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimKnownPersonId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearcherDescription +{ + public int Id { get; set; } + + public int? DescriptionType { get; set; } + + public string? ResearchDescriptionFi { get; set; } + + public string? ResearchDescriptionEn { get; set; } + + public string? ResearchDescriptionSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimResearcherToResearchCommunity.cs b/aspnetcore/src/DatabaseContext/Entities/DimResearcherToResearchCommunity.cs index ed4ce38..25dd555 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimResearcherToResearchCommunity.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimResearcherToResearchCommunity.cs @@ -1,34 +1,45 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimResearcherToResearchCommunity - { - public DimResearcherToResearchCommunity() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int DimResearchCommunityId { get; set; } - public int DimKnownPersonId { get; set; } - public int StartDate { get; set; } - public int? EndDate { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionEn { get; set; } - public string? DescriptionSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimResearchCommunity DimResearchCommunity { get; set; } = null!; - public virtual DimDate? EndDateNavigation { get; set; } - public virtual DimDate StartDateNavigation { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimResearcherToResearchCommunity +{ + public int Id { get; set; } + + public int DimResearchCommunityId { get; set; } + + public int DimKnownPersonId { get; set; } + + public int StartDate { get; set; } + + public int? EndDate { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionEn { get; set; } + + public string? DescriptionSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimResearchCommunity DimResearchCommunity { get; set; } = null!; + + public virtual DimDate? EndDateNavigation { get; set; } + + public virtual ICollection FactFieldValues { get; set; } = new List(); + + public virtual DimDate StartDateNavigation { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimSector.cs b/aspnetcore/src/DatabaseContext/Entities/DimSector.cs index 8044a97..cfad2da 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimSector.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimSector.cs @@ -1,25 +1,27 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimSector - { - public DimSector() - { - DimOrganizations = new HashSet(); - } - - public int Id { get; set; } - public string SectorId { get; set; } = null!; - public string NameFi { get; set; } = null!; - public string? NameEn { get; set; } - public string? NameSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimOrganizations { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimSector +{ + public int Id { get; set; } + + public string SectorId { get; set; } = null!; + + public string NameFi { get; set; } = null!; + + public string? NameEn { get; set; } + + public string? NameSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimOrganizations { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimService.cs b/aspnetcore/src/DatabaseContext/Entities/DimService.cs index 560817e..92074ca 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimService.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimService.cs @@ -1,36 +1,45 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimService - { - public DimService() - { - DimPids = new HashSet(); - FactInfraKeywords = new HashSet(); - FactUpkeeps = new HashSet(); - } - - public int Id { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string? ScientificDescriptionFi { get; set; } - public string? ScientificDescriptionSv { get; set; } - public string? ScientificDescriptionEn { get; set; } - public string? Acronym { get; set; } - public string? Type { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection DimPids { get; set; } - public virtual ICollection FactInfraKeywords { get; set; } - public virtual ICollection FactUpkeeps { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimService +{ + public int Id { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string? ScientificDescriptionFi { get; set; } + + public string? ScientificDescriptionSv { get; set; } + + public string? ScientificDescriptionEn { get; set; } + + public string? Acronym { get; set; } + + public string? Type { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection DimPids { get; set; } = new List(); + + public virtual ICollection FactInfraKeywords { get; set; } = new List(); + + public virtual ICollection FactUpkeeps { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimServicePoint.cs b/aspnetcore/src/DatabaseContext/Entities/DimServicePoint.cs index c8bdd03..f4466f3 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimServicePoint.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimServicePoint.cs @@ -1,39 +1,53 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimServicePoint - { - public DimServicePoint() - { - FactInfraKeywords = new HashSet(); - FactUpkeeps = new HashSet(); - } - - public int Id { get; set; } - public string? NameFi { get; set; } - public string? NameSv { get; set; } - public string? NameEn { get; set; } - public string? DescriptionFi { get; set; } - public string? DescriptionSv { get; set; } - public string? DescriptionEn { get; set; } - public string? VisitingAddress { get; set; } - public string? Phone { get; set; } - public string? Email { get; set; } - public string? LinkAdditionalInfoFi { get; set; } - public string? LinkAdditionalInfoSv { get; set; } - public string? LinkAdditionalInfoEn { get; set; } - public string? LinkAccessPolicyFi { get; set; } - public string? LinkAccessPolicySv { get; set; } - public string? LinkAccessPolicyEn { get; set; } - public string? LinkInternationalInfra { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual ICollection FactInfraKeywords { get; set; } - public virtual ICollection FactUpkeeps { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimServicePoint +{ + public int Id { get; set; } + + public string? NameFi { get; set; } + + public string? NameSv { get; set; } + + public string? NameEn { get; set; } + + public string? DescriptionFi { get; set; } + + public string? DescriptionSv { get; set; } + + public string? DescriptionEn { get; set; } + + public string? VisitingAddress { get; set; } + + public string? Phone { get; set; } + + public string? Email { get; set; } + + public string? LinkAdditionalInfoFi { get; set; } + + public string? LinkAdditionalInfoSv { get; set; } + + public string? LinkAdditionalInfoEn { get; set; } + + public string? LinkAccessPolicyFi { get; set; } + + public string? LinkAccessPolicySv { get; set; } + + public string? LinkAccessPolicyEn { get; set; } + + public string? LinkInternationalInfra { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual ICollection FactInfraKeywords { get; set; } = new List(); + + public virtual ICollection FactUpkeeps { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimTelephoneNumber.cs b/aspnetcore/src/DatabaseContext/Entities/DimTelephoneNumber.cs index 287dff1..72f2c50 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimTelephoneNumber.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimTelephoneNumber.cs @@ -1,26 +1,29 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimTelephoneNumber - { - public DimTelephoneNumber() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? TelephoneNumber { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public int DimKnownPersonId { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimTelephoneNumber +{ + public int Id { get; set; } + + public string? TelephoneNumber { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public int DimKnownPersonId { get; set; } + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimTypeOfFunding.cs b/aspnetcore/src/DatabaseContext/Entities/DimTypeOfFunding.cs index 4596706..de68cf3 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimTypeOfFunding.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimTypeOfFunding.cs @@ -1,29 +1,33 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimTypeOfFunding - { - public DimTypeOfFunding() - { - DimProfileOnlyFundingDecisions = new HashSet(); - InverseDimTypeOfFundingNavigation = new HashSet(); - } - - public int Id { get; set; } - public string TypeId { get; set; } = null!; - public string NameFi { get; set; } = null!; - public string? NameEn { get; set; } - public string? NameSv { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimTypeOfFundingId { get; set; } - - public virtual DimTypeOfFunding DimTypeOfFundingNavigation { get; set; } = null!; - public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } - public virtual ICollection InverseDimTypeOfFundingNavigation { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimTypeOfFunding +{ + public int Id { get; set; } + + public string TypeId { get; set; } = null!; + + public string NameFi { get; set; } = null!; + + public string? NameEn { get; set; } + + public string? NameSv { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimTypeOfFundingId { get; set; } + + public virtual ICollection DimProfileOnlyFundingDecisions { get; set; } = new List(); + + public virtual DimTypeOfFunding DimTypeOfFundingNavigation { get; set; } = null!; + + public virtual ICollection InverseDimTypeOfFundingNavigation { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimUserChoice.cs b/aspnetcore/src/DatabaseContext/Entities/DimUserChoice.cs index 78ecbe2..375f3d2 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimUserChoice.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimUserChoice.cs @@ -1,20 +1,27 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimUserChoice - { - public int Id { get; set; } - public bool UserChoiceValue { get; set; } - public int DimUserProfileId { get; set; } - public int DimReferencedataIdAsUserChoiceLabel { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimReferencedatum DimReferencedataIdAsUserChoiceLabelNavigation { get; set; } = null!; - public virtual DimUserProfile DimUserProfile { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimUserChoice +{ + public int Id { get; set; } + + public bool UserChoiceValue { get; set; } + + public int DimUserProfileId { get; set; } + + public int DimReferencedataIdAsUserChoiceLabel { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimReferencedatum DimReferencedataIdAsUserChoiceLabelNavigation { get; set; } = null!; + + public virtual DimUserProfile DimUserProfile { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimUserProfile.cs b/aspnetcore/src/DatabaseContext/Entities/DimUserProfile.cs index 23f865c..f525f46 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimUserProfile.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimUserProfile.cs @@ -1,38 +1,47 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimUserProfile - { - public DimUserProfile() - { - BrGrantedPermissions = new HashSet(); - DimFieldDisplaySettings = new HashSet(); - DimUserChoices = new HashSet(); - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public int DimKnownPersonId { get; set; } - public bool AllowAllSubscriptions { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string? OrcidAccessToken { get; set; } - public string? OrcidRefreshToken { get; set; } - public string? OrcidTokenScope { get; set; } - public DateTime? OrcidTokenExpires { get; set; } - public string? OrcidId { get; set; } - public int? Statuscode { get; set; } - public bool Hidden { get; set; } - public bool PublishNewOrcidData { get; set; } - - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual ICollection BrGrantedPermissions { get; set; } - public virtual ICollection DimFieldDisplaySettings { get; set; } - public virtual ICollection DimUserChoices { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimUserProfile +{ + public int Id { get; set; } + + public int DimKnownPersonId { get; set; } + + public bool AllowAllSubscriptions { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string? OrcidAccessToken { get; set; } + + public string? OrcidRefreshToken { get; set; } + + public string? OrcidTokenScope { get; set; } + + public DateTime? OrcidTokenExpires { get; set; } + + public string? OrcidId { get; set; } + + public int? Statuscode { get; set; } + + public bool Hidden { get; set; } + + public bool PublishNewOrcidData { get; set; } + + public virtual ICollection BrGrantedPermissions { get; set; } = new List(); + + public virtual ICollection DimFieldDisplaySettings { get; set; } = new List(); + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual ICollection DimUserChoices { get; set; } = new List(); + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimWebLink.cs b/aspnetcore/src/DatabaseContext/Entities/DimWebLink.cs index 608116b..c589f51 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimWebLink.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimWebLink.cs @@ -1,50 +1,77 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimWebLink - { - public DimWebLink() - { - FactFieldValues = new HashSet(); - } - - public int Id { get; set; } - public string? Url { get; set; } - public string? LinkLabel { get; set; } - public string? LinkType { get; set; } - public string? LanguageVariant { get; set; } - public int? DimOrganizationId { get; set; } - public int? DimKnownPersonId { get; set; } - public int? DimCallProgrammeId { get; set; } - public int? DimFundingDecisionId { get; set; } - public int? DimResearchDataCatalogId { get; set; } - public int? DimResearchDatasetId { get; set; } - public int? DimResearchCommunityId { get; set; } - public string? SourceDescription { get; set; } - public string SourceId { get; set; } = null!; - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int? DimResearchActivityId { get; set; } - public int? DimRegisteredDataSourceId { get; set; } - public int? DimProfileOnlyResearchActivityId { get; set; } - public int? DimProfileOnlyDatasetId { get; set; } - public int? DimProfileOnlyFundingDecisionId { get; set; } - public int? DimResearchProjectId { get; set; } - - public virtual DimCallProgramme? DimCallProgramme { get; set; } - public virtual DimFundingDecision? DimFundingDecision { get; set; } - public virtual DimKnownPerson? DimKnownPerson { get; set; } - public virtual DimOrganization? DimOrganization { get; set; } - public virtual DimProfileOnlyDataset? DimProfileOnlyDataset { get; set; } - public virtual DimProfileOnlyFundingDecision? DimProfileOnlyFundingDecision { get; set; } - public virtual DimProfileOnlyResearchActivity? DimProfileOnlyResearchActivity { get; set; } - public virtual DimRegisteredDataSource? DimRegisteredDataSource { get; set; } - public virtual DimResearchActivity? DimResearchActivity { get; set; } - public virtual DimResearchCommunity? DimResearchCommunity { get; set; } - public virtual DimResearchDataCatalog? DimResearchDataCatalog { get; set; } - public virtual DimResearchDataset? DimResearchDataset { get; set; } - public virtual ICollection FactFieldValues { get; set; } - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimWebLink +{ + public int Id { get; set; } + + public string? Url { get; set; } + + public string? LinkLabel { get; set; } + + public string? LinkType { get; set; } + + public string? LanguageVariant { get; set; } + + public int? DimOrganizationId { get; set; } + + public int? DimKnownPersonId { get; set; } + + public int? DimCallProgrammeId { get; set; } + + public int? DimFundingDecisionId { get; set; } + + public int? DimResearchDataCatalogId { get; set; } + + public int? DimResearchDatasetId { get; set; } + + public int? DimResearchCommunityId { get; set; } + + public string? SourceDescription { get; set; } + + public string SourceId { get; set; } = null!; + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int? DimResearchActivityId { get; set; } + + public int? DimRegisteredDataSourceId { get; set; } + + public int? DimProfileOnlyResearchActivityId { get; set; } + + public int? DimProfileOnlyDatasetId { get; set; } + + public int? DimProfileOnlyFundingDecisionId { get; set; } + + public int? DimResearchProjectId { get; set; } + + public virtual DimCallProgramme? DimCallProgramme { get; set; } + + public virtual DimFundingDecision? DimFundingDecision { get; set; } + + public virtual DimKnownPerson? DimKnownPerson { get; set; } + + public virtual DimOrganization? DimOrganization { get; set; } + + public virtual DimProfileOnlyDataset? DimProfileOnlyDataset { get; set; } + + public virtual DimProfileOnlyFundingDecision? DimProfileOnlyFundingDecision { get; set; } + + public virtual DimProfileOnlyResearchActivity? DimProfileOnlyResearchActivity { get; set; } + + public virtual DimRegisteredDataSource? DimRegisteredDataSource { get; set; } + + public virtual DimResearchActivity? DimResearchActivity { get; set; } + + public virtual DimResearchCommunity? DimResearchCommunity { get; set; } + + public virtual DimResearchDataCatalog? DimResearchDataCatalog { get; set; } + + public virtual DimResearchDataset? DimResearchDataset { get; set; } + + public virtual ICollection FactFieldValues { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/DimWordCluster.cs b/aspnetcore/src/DatabaseContext/Entities/DimWordCluster.cs index 50c0ad7..df06829 100644 --- a/aspnetcore/src/DatabaseContext/Entities/DimWordCluster.cs +++ b/aspnetcore/src/DatabaseContext/Entities/DimWordCluster.cs @@ -1,23 +1,21 @@ -using System; -using System.Collections.Generic; +using System; +using System.Collections.Generic; -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class DimWordCluster - { - public DimWordCluster() - { - BrWordClusterDimFundingDecisions = new HashSet(); - BrWordsDefineAClusters = new HashSet(); - } +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class DimWordCluster +{ + public int Id { get; set; } - public int Id { get; set; } - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public string SourceId { get; set; } = null!; + public string? SourceDescription { get; set; } - public virtual ICollection BrWordClusterDimFundingDecisions { get; set; } - public virtual ICollection BrWordsDefineAClusters { get; set; } - } -} + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public string SourceId { get; set; } = null!; + + public virtual ICollection BrWordClusterDimFundingDecisions { get; set; } = new List(); + + public virtual ICollection BrWordsDefineAClusters { get; set; } = new List(); +} diff --git a/aspnetcore/src/DatabaseContext/Entities/FactContribution.cs b/aspnetcore/src/DatabaseContext/Entities/FactContribution.cs index e4eb447..1316d87 100644 --- a/aspnetcore/src/DatabaseContext/Entities/FactContribution.cs +++ b/aspnetcore/src/DatabaseContext/Entities/FactContribution.cs @@ -1,44 +1,75 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class FactContribution - { - public int DimFundingDecisionId { get; set; } - public int DimOrganizationId { get; set; } - public int DimDateId { get; set; } - public int DimNameId { get; set; } - public int DimPublicationId { get; set; } - public int DimGeoId { get; set; } - public int DimInfrastructureId { get; set; } - public int DimNewsFeedId { get; set; } - public int DimResearchDatasetId { get; set; } - public int DimResearchDataCatalogId { get; set; } - public int DimIdentifierlessDataId { get; set; } - public int DimResearchActivityId { get; set; } - public int DimResearchCommunityId { get; set; } - public int DimReferencedataActorRoleId { get; set; } - public string ContributionType { get; set; } = null!; - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimResearchProjectId { get; set; } - - public virtual DimDate DimDate { get; set; } = null!; - public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; - public virtual DimGeo DimGeo { get; set; } = null!; - public virtual DimIdentifierlessDatum DimIdentifierlessData { get; set; } = null!; - public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; - public virtual DimName DimName { get; set; } = null!; - public virtual DimNewsFeed DimNewsFeed { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual DimPublication DimPublication { get; set; } = null!; - public virtual DimReferencedatum DimReferencedataActorRole { get; set; } = null!; - public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; - public virtual DimResearchCommunity DimResearchCommunity { get; set; } = null!; - public virtual DimResearchDataCatalog DimResearchDataCatalog { get; set; } = null!; - public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class FactContribution +{ + public int DimFundingDecisionId { get; set; } + + public int DimOrganizationId { get; set; } + + public int DimDateId { get; set; } + + public int DimNameId { get; set; } + + public int DimPublicationId { get; set; } + + public int DimGeoId { get; set; } + + public int DimInfrastructureId { get; set; } + + public int DimNewsFeedId { get; set; } + + public int DimResearchDatasetId { get; set; } + + public int DimResearchDataCatalogId { get; set; } + + public int DimIdentifierlessDataId { get; set; } + + public int DimResearchActivityId { get; set; } + + public int DimResearchCommunityId { get; set; } + + public int DimReferencedataActorRoleId { get; set; } + + public string ContributionType { get; set; } = null!; + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimResearchProjectId { get; set; } + + public virtual DimDate DimDate { get; set; } = null!; + + public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; + + public virtual DimGeo DimGeo { get; set; } = null!; + + public virtual DimIdentifierlessDatum DimIdentifierlessData { get; set; } = null!; + + public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; + + public virtual DimName DimName { get; set; } = null!; + + public virtual DimNewsFeed DimNewsFeed { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual DimPublication DimPublication { get; set; } = null!; + + public virtual DimReferencedatum DimReferencedataActorRole { get; set; } = null!; + + public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; + + public virtual DimResearchCommunity DimResearchCommunity { get; set; } = null!; + + public virtual DimResearchDataCatalog DimResearchDataCatalog { get; set; } = null!; + + public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/FactDimReferencedataFieldOfScience.cs b/aspnetcore/src/DatabaseContext/Entities/FactDimReferencedataFieldOfScience.cs index 6a2b388..9be92dd 100644 --- a/aspnetcore/src/DatabaseContext/Entities/FactDimReferencedataFieldOfScience.cs +++ b/aspnetcore/src/DatabaseContext/Entities/FactDimReferencedataFieldOfScience.cs @@ -1,23 +1,33 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class FactDimReferencedataFieldOfScience - { - public int DimReferencedataId { get; set; } - public int DimResearchDatasetId { get; set; } - public int DimKnownPersonId { get; set; } - public int DimPublicationId { get; set; } - public int DimResearchActivityId { get; set; } - public int DimFundingDecisionId { get; set; } - public int DimInfrastructureId { get; set; } - - public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; - public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; - public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; - public virtual DimPublication DimPublication { get; set; } = null!; - public virtual DimReferencedatum DimReferencedata { get; set; } = null!; - public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class FactDimReferencedataFieldOfScience +{ + public int DimReferencedataId { get; set; } + + public int DimResearchDatasetId { get; set; } + + public int DimKnownPersonId { get; set; } + + public int DimPublicationId { get; set; } + + public int DimResearchActivityId { get; set; } + + public int DimFundingDecisionId { get; set; } + + public int DimInfrastructureId { get; set; } + + public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; + + public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; + + public virtual DimKnownPerson DimKnownPerson { get; set; } = null!; + + public virtual DimPublication DimPublication { get; set; } = null!; + + public virtual DimReferencedatum DimReferencedata { get; set; } = null!; + + public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/FactFieldValue.cs b/aspnetcore/src/DatabaseContext/Entities/FactFieldValue.cs index e661b5f..469afa7 100644 --- a/aspnetcore/src/DatabaseContext/Entities/FactFieldValue.cs +++ b/aspnetcore/src/DatabaseContext/Entities/FactFieldValue.cs @@ -1,72 +1,131 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class FactFieldValue - { - public int DimUserProfileId { get; set; } - public int DimFieldDisplaySettingsId { get; set; } - public int DimNameId { get; set; } - public int DimWebLinkId { get; set; } - public int DimFundingDecisionId { get; set; } - public int DimPublicationId { get; set; } - public int DimPidId { get; set; } - public int DimPidIdOrcidPutCode { get; set; } - public int DimResearchActivityId { get; set; } - public int DimEventId { get; set; } - public int DimEducationId { get; set; } - public int DimCompetenceId { get; set; } - public int DimResearchCommunityId { get; set; } - public int DimTelephoneNumberId { get; set; } - public int DimEmailAddrressId { get; set; } - public int DimResearcherDescriptionId { get; set; } - public int DimIdentifierlessDataId { get; set; } - public int DimProfileOnlyPublicationId { get; set; } - public int DimKeywordId { get; set; } - public int DimAffiliationId { get; set; } - public int DimResearcherToResearchCommunityId { get; set; } - public bool? Show { get; set; } - public bool? PrimaryValue { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - public int DimResearchDatasetId { get; set; } - public int DimRegisteredDataSourceId { get; set; } - public int DimReferencedataFieldOfScienceId { get; set; } - public int DimProfileOnlyResearchActivityId { get; set; } - public int DimReferencedataActorRoleId { get; set; } - public int DimProfileOnlyDatasetId { get; set; } - public int DimProfileOnlyFundingDecisionId { get; set; } - - public virtual DimAffiliation DimAffiliation { get; set; } = null!; - public virtual DimCompetence DimCompetence { get; set; } = null!; - public virtual DimEducation DimEducation { get; set; } = null!; - public virtual DimEmailAddrress DimEmailAddrress { get; set; } = null!; - public virtual DimEvent DimEvent { get; set; } = null!; - public virtual DimFieldDisplaySetting DimFieldDisplaySettings { get; set; } = null!; - public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; - public virtual DimIdentifierlessDatum DimIdentifierlessData { get; set; } = null!; - public virtual DimKeyword DimKeyword { get; set; } = null!; - public virtual DimName DimName { get; set; } = null!; - public virtual DimPid DimPid { get; set; } = null!; - public virtual DimPid DimPidIdOrcidPutCodeNavigation { get; set; } = null!; - public virtual DimProfileOnlyDataset DimProfileOnlyDataset { get; set; } = null!; - public virtual DimProfileOnlyFundingDecision DimProfileOnlyFundingDecision { get; set; } = null!; - public virtual DimProfileOnlyPublication DimProfileOnlyPublication { get; set; } = null!; - public virtual DimProfileOnlyResearchActivity DimProfileOnlyResearchActivity { get; set; } = null!; - public virtual DimPublication DimPublication { get; set; } = null!; - public virtual DimReferencedatum DimReferencedataActorRole { get; set; } = null!; - public virtual DimReferencedatum DimReferencedataFieldOfScience { get; set; } = null!; - public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; - public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; - public virtual DimResearchCommunity DimResearchCommunity { get; set; } = null!; - public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; - public virtual DimResearcherDescription DimResearcherDescription { get; set; } = null!; - public virtual DimResearcherToResearchCommunity DimResearcherToResearchCommunity { get; set; } = null!; - public virtual DimTelephoneNumber DimTelephoneNumber { get; set; } = null!; - public virtual DimUserProfile DimUserProfile { get; set; } = null!; - public virtual DimWebLink DimWebLink { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class FactFieldValue +{ + public int DimUserProfileId { get; set; } + + public int DimFieldDisplaySettingsId { get; set; } + + public int DimNameId { get; set; } + + public int DimWebLinkId { get; set; } + + public int DimFundingDecisionId { get; set; } + + public int DimPublicationId { get; set; } + + public int DimPidId { get; set; } + + public int DimPidIdOrcidPutCode { get; set; } + + public int DimResearchActivityId { get; set; } + + public int DimEventId { get; set; } + + public int DimEducationId { get; set; } + + public int DimCompetenceId { get; set; } + + public int DimResearchCommunityId { get; set; } + + public int DimTelephoneNumberId { get; set; } + + public int DimEmailAddrressId { get; set; } + + public int DimResearcherDescriptionId { get; set; } + + public int DimIdentifierlessDataId { get; set; } + + public int DimProfileOnlyPublicationId { get; set; } + + public int DimKeywordId { get; set; } + + public int DimAffiliationId { get; set; } + + public int DimResearcherToResearchCommunityId { get; set; } + + public bool? Show { get; set; } + + public bool? PrimaryValue { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public int DimResearchDatasetId { get; set; } + + public int DimRegisteredDataSourceId { get; set; } + + public int DimReferencedataFieldOfScienceId { get; set; } + + public int DimProfileOnlyResearchActivityId { get; set; } + + public int DimReferencedataActorRoleId { get; set; } + + public int DimProfileOnlyDatasetId { get; set; } + + public int DimProfileOnlyFundingDecisionId { get; set; } + + public virtual DimAffiliation DimAffiliation { get; set; } = null!; + + public virtual DimCompetence DimCompetence { get; set; } = null!; + + public virtual DimEducation DimEducation { get; set; } = null!; + + public virtual DimEmailAddrress DimEmailAddrress { get; set; } = null!; + + public virtual DimEvent DimEvent { get; set; } = null!; + + public virtual DimFieldDisplaySetting DimFieldDisplaySettings { get; set; } = null!; + + public virtual DimFundingDecision DimFundingDecision { get; set; } = null!; + + public virtual DimIdentifierlessDatum DimIdentifierlessData { get; set; } = null!; + + public virtual DimKeyword DimKeyword { get; set; } = null!; + + public virtual DimName DimName { get; set; } = null!; + + public virtual DimPid DimPid { get; set; } = null!; + + public virtual DimPid DimPidIdOrcidPutCodeNavigation { get; set; } = null!; + + public virtual DimProfileOnlyDataset DimProfileOnlyDataset { get; set; } = null!; + + public virtual DimProfileOnlyFundingDecision DimProfileOnlyFundingDecision { get; set; } = null!; + + public virtual DimProfileOnlyPublication DimProfileOnlyPublication { get; set; } = null!; + + public virtual DimProfileOnlyResearchActivity DimProfileOnlyResearchActivity { get; set; } = null!; + + public virtual DimPublication DimPublication { get; set; } = null!; + + public virtual DimReferencedatum DimReferencedataActorRole { get; set; } = null!; + + public virtual DimReferencedatum DimReferencedataFieldOfScience { get; set; } = null!; + + public virtual DimRegisteredDataSource DimRegisteredDataSource { get; set; } = null!; + + public virtual DimResearchActivity DimResearchActivity { get; set; } = null!; + + public virtual DimResearchCommunity DimResearchCommunity { get; set; } = null!; + + public virtual DimResearchDataset DimResearchDataset { get; set; } = null!; + + public virtual DimResearcherDescription DimResearcherDescription { get; set; } = null!; + + public virtual DimResearcherToResearchCommunity DimResearcherToResearchCommunity { get; set; } = null!; + + public virtual DimTelephoneNumber DimTelephoneNumber { get; set; } = null!; + + public virtual DimUserProfile DimUserProfile { get; set; } = null!; + + public virtual DimWebLink DimWebLink { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/FactInfraKeyword.cs b/aspnetcore/src/DatabaseContext/Entities/FactInfraKeyword.cs index c31f279..d73a096 100644 --- a/aspnetcore/src/DatabaseContext/Entities/FactInfraKeyword.cs +++ b/aspnetcore/src/DatabaseContext/Entities/FactInfraKeyword.cs @@ -1,22 +1,31 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class FactInfraKeyword - { - public int DimKeywordId { get; set; } - public int DimServiceId { get; set; } - public int DimServicePointId { get; set; } - public int DimInfrastructureId { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; - public virtual DimKeyword DimKeyword { get; set; } = null!; - public virtual DimService DimService { get; set; } = null!; - public virtual DimServicePoint DimServicePoint { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class FactInfraKeyword +{ + public int DimKeywordId { get; set; } + + public int DimServiceId { get; set; } + + public int DimServicePointId { get; set; } + + public int DimInfrastructureId { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; + + public virtual DimKeyword DimKeyword { get; set; } = null!; + + public virtual DimService DimService { get; set; } = null!; + + public virtual DimServicePoint DimServicePoint { get; set; } = null!; +} diff --git a/aspnetcore/src/DatabaseContext/Entities/FactUpkeep.cs b/aspnetcore/src/DatabaseContext/Entities/FactUpkeep.cs index 0b991fa..909d056 100644 --- a/aspnetcore/src/DatabaseContext/Entities/FactUpkeep.cs +++ b/aspnetcore/src/DatabaseContext/Entities/FactUpkeep.cs @@ -1,28 +1,43 @@ -using System; -using System.Collections.Generic; - -namespace CSC.PublicApi.DatabaseContext.Entities -{ - public partial class FactUpkeep - { - public int DimOrganizationId { get; set; } - public int DimGeoId { get; set; } - public int DimInfrastructureId { get; set; } - public int DimServiceId { get; set; } - public int DimServicePointId { get; set; } - public int DimDateIdStart { get; set; } - public int DimDateIdEnd { get; set; } - public string SourceId { get; set; } = null!; - public string? SourceDescription { get; set; } - public DateTime? Created { get; set; } - public DateTime? Modified { get; set; } - - public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; - public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; - public virtual DimGeo DimGeo { get; set; } = null!; - public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; - public virtual DimOrganization DimOrganization { get; set; } = null!; - public virtual DimService DimService { get; set; } = null!; - public virtual DimServicePoint DimServicePoint { get; set; } = null!; - } -} +using System; +using System.Collections.Generic; + +namespace CSC.PublicApi.DatabaseContext.Entities; + +public partial class FactUpkeep +{ + public int DimOrganizationId { get; set; } + + public int DimGeoId { get; set; } + + public int DimInfrastructureId { get; set; } + + public int DimServiceId { get; set; } + + public int DimServicePointId { get; set; } + + public int DimDateIdStart { get; set; } + + public int DimDateIdEnd { get; set; } + + public string SourceId { get; set; } = null!; + + public string? SourceDescription { get; set; } + + public DateTime? Created { get; set; } + + public DateTime? Modified { get; set; } + + public virtual DimDate DimDateIdEndNavigation { get; set; } = null!; + + public virtual DimDate DimDateIdStartNavigation { get; set; } = null!; + + public virtual DimGeo DimGeo { get; set; } = null!; + + public virtual DimInfrastructure DimInfrastructure { get; set; } = null!; + + public virtual DimOrganization DimOrganization { get; set; } = null!; + + public virtual DimService DimService { get; set; } = null!; + + public virtual DimServicePoint DimServicePoint { get; set; } = null!; +} diff --git a/aspnetcore/src/ElasticService/ElasticService.csproj b/aspnetcore/src/ElasticService/ElasticService.csproj index 797b4a8..c2a6a8a 100644 --- a/aspnetcore/src/ElasticService/ElasticService.csproj +++ b/aspnetcore/src/ElasticService/ElasticService.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable CSC.PublicApi.$(MSBuildProjectName.Replace(" ", "_")) @@ -9,12 +9,12 @@ - - - - + + + + - + diff --git a/aspnetcore/src/Exporter/Exporter.cs b/aspnetcore/src/Exporter/Exporter.cs new file mode 100644 index 0000000..73a2d44 --- /dev/null +++ b/aspnetcore/src/Exporter/Exporter.cs @@ -0,0 +1,324 @@ +using AutoMapper; +using Nest; +using CSC.PublicApi.ElasticService; +using Microsoft.Extensions.Configuration; +using CSC.PublicApi.Service.Models.FundingCall; +using CSC.PublicApi.Service.Models.FundingDecision; +using CSC.PublicApi.Service.Models.ResearchDataset; +using CSC.PublicApi.Service.Models.Publication; +using FundingCallApiModel = ResearchFi.FundingCall.FundingCall; +using FundingDecisionApiModel = ResearchFi.FundingDecision.FundingDecision; +using ResearchDatasetApiModel = ResearchFi.ResearchDataset.ResearchDataset; +using PublicationApiModel = ResearchFi.Publication.Publication; +using System.Text.Json; + +namespace BulkExport; + +// Exports documents from Elasticsearch into json files. +public class Exporter +{ + private IElasticClient _elasticClient; + private readonly IMapper _mapper; + private readonly IndexNameSettings _indexNameSettings; + private readonly IConfiguration _configuration; + private const int SingleQueryResultLimit = 1000; + private string? ExportBaseDirectory = ""; + + public Exporter(IElasticClient elasticClient, IConfiguration configuration, IMapper mapper, IndexNameSettings indexNameSettings) + { + _elasticClient = elasticClient; + _configuration = configuration; + _mapper = mapper; + _indexNameSettings = indexNameSettings; + + // Get export base directory from configuration + ExportBaseDirectory = _configuration["EXPORTER:BASEDIRECTORY"]; + if (ExportBaseDirectory == null) + { + string errorMessage = $"Export: Failed: could not set export target directory from configuration (EXPORTER:BASEDIRECTORY)"; + Console.WriteLine(errorMessage); + throw new InvalidOperationException(errorMessage); + } + else { + Console.WriteLine($"Export: target directory set to '{ExportBaseDirectory}' from configuration (EXPORTER:BASEDIRECTORY)"); + } + } + + + // Construct export file name including full path + private string GetFilename(string modelTypeFullName, long exportFileNumber) + { + string exportFileNumberPaddedString = exportFileNumber.ToString("D10"); + string fileTypeString = ""; + switch (modelTypeFullName) + { + case "CSC.PublicApi.Service.Models.FundingCall.FundingCall": + fileTypeString = "fundingCall"; + break; + case "CSC.PublicApi.Service.Models.FundingDecision.FundingDecision": + fileTypeString = "fundingDecision"; + break; + case "CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset": + fileTypeString = "researchDataset"; + break; + case "CSC.PublicApi.Service.Models.Publication.Publication": + fileTypeString = "publication"; + break; + } + return $"{ExportBaseDirectory}{Path.DirectorySeparatorChar}{fileTypeString}-{exportFileNumberPaddedString}.json"; + } + + + /* + * Export data from Elasticsearch index into json text files + * - Get list of configured Elasticsearch indexes + * - For each index, get all documents and + * - Convert them from Elasticsearch model to API model, which ensures the json files will contain the same fields as the Public API endpoint + * - Construct export file name and path + * - Write data to json file + * - To bypass Elasticsearch limitation of 10000 result set, the "search after" feature is utilized + * - https://www.elastic.co/guide/en/elasticsearch/reference/7.17/paginate-search-results.html#search-after + * - Data is queried in smaller chunks, sorted by DocumentIndexOrder + * - This is the most efficient way to sort documents + * - Last hit of previous query is stored + * - New query will always contain "search after" section containing the last hit from previous query + */ + public void Export(JsonSerializerOptions serializerOptions) + { + // Get Elasticsearch indexes and process them + var configuredTypesAndIndexNames = _indexNameSettings.GetTypesAndIndexNames(); + foreach (var (indexName, modelType) in configuredTypesAndIndexNames) + { + long numberOfDocumentsInIndex = 0; + long numberOfQueryResults = -1; + long exportFileNumber = 0; + CountResponse? countResponse = null; + + switch (modelType.FullName) + { + /* + * FundingCall + */ + case "CSC.PublicApi.Service.Models.FundingCall.FundingCall": + IHit? lastHitFundingCall = null; + ISearchResponse? fundingCallSearchResponse = null; + + // Number of documents in index + countResponse = _elasticClient.Count(c => c.Index(indexName)); + numberOfDocumentsInIndex = countResponse.Count; + Console.WriteLine($"Export: FundingCall: started from index {indexName} containing {numberOfDocumentsInIndex} documents"); + + while (numberOfQueryResults == -1 || numberOfQueryResults >= SingleQueryResultLimit) { + // Get batch of documents + if (lastHitFundingCall != null) { + fundingCallSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + .SearchAfter(lastHitFundingCall.Sorts) + ); + } else { + fundingCallSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + ); + } + + numberOfQueryResults = fundingCallSearchResponse.Documents.Count; + if (numberOfQueryResults == 0) + { + break; + } + lastHitFundingCall = fundingCallSearchResponse.Hits.Last(); + + // Process documents: Map from Elastic index model to API model, write into text file + foreach (var doc in fundingCallSearchResponse.Documents) + { + FundingCallApiModel fundingCall = _mapper.Map(doc); + string jsonString = JsonSerializer.Serialize(fundingCall, serializerOptions); + File.WriteAllText( + GetFilename(modelType.FullName, ++exportFileNumber), + jsonString + ); + } + Console.WriteLine($"Export: FundingCall: in progress {exportFileNumber}/{numberOfDocumentsInIndex}"); + } + + Console.WriteLine($"Export: FundingCall: complete, exported {exportFileNumber}/{numberOfDocumentsInIndex}"); + break; + + + + /* + * FundingDecision + */ + case "CSC.PublicApi.Service.Models.FundingDecision.FundingDecision": + IHit? lastHitFundingDecision = null; + ISearchResponse? fundingDecisionSearchResponse = null; + + // Number of documents in index + countResponse = _elasticClient.Count(c => c.Index(indexName)); + numberOfDocumentsInIndex = countResponse.Count; + Console.WriteLine($"Export: FundingDecision: started from index {indexName} containing {numberOfDocumentsInIndex} documents"); + + while (numberOfQueryResults == -1 || numberOfQueryResults >= SingleQueryResultLimit) { + // Get batch of documents + if (lastHitFundingDecision != null) { + fundingDecisionSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + .SearchAfter(lastHitFundingDecision.Sorts) + ); + } else { + fundingDecisionSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + ); + } + + numberOfQueryResults = fundingDecisionSearchResponse.Documents.Count; + if (numberOfQueryResults == 0) + { + break; + } + lastHitFundingDecision = fundingDecisionSearchResponse.Hits.Last(); + + // Process documents: Map from Elastic index model to API model, write into text file + foreach (var doc in fundingDecisionSearchResponse.Documents) + { + FundingDecisionApiModel fundingDecision = _mapper.Map(doc); + string jsonString = JsonSerializer.Serialize(fundingDecision, serializerOptions); + File.WriteAllText( + GetFilename(modelType.FullName, ++exportFileNumber), + jsonString + ); + } + Console.WriteLine($"Export: FundingDecision: in progress {exportFileNumber}/{numberOfDocumentsInIndex}"); + } + + Console.WriteLine($"Export: FundingDecision: complete, exported {exportFileNumber}/{numberOfDocumentsInIndex}"); + break; + + + + /* + * ResearchDataset + */ + case "CSC.PublicApi.Service.Models.ResearchDataset.ResearchDataset": + IHit? lastHitResearchDataset = null; + ISearchResponse? researchDatasetSearchResponse = null; + + // Number of documents in index + countResponse = _elasticClient.Count(c => c.Index(indexName)); + numberOfDocumentsInIndex = countResponse.Count; + Console.WriteLine($"Export: ResearchDataset: started from index {indexName} containing {numberOfDocumentsInIndex} documents"); + + while (numberOfQueryResults == -1 || numberOfQueryResults >= SingleQueryResultLimit) { + // Get batch of documents + if (lastHitResearchDataset != null) { + researchDatasetSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + .SearchAfter(lastHitResearchDataset.Sorts) + ); + } else { + researchDatasetSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + ); + } + + numberOfQueryResults = researchDatasetSearchResponse.Documents.Count; + if (numberOfQueryResults == 0) + { + break; + } + lastHitResearchDataset= researchDatasetSearchResponse.Hits.Last(); + + // Process documents: Map from Elastic index model to API model, write into text file + foreach (var doc in researchDatasetSearchResponse.Documents) + { + ResearchDatasetApiModel researchDataset = _mapper.Map(doc); + string jsonString = JsonSerializer.Serialize(researchDataset, serializerOptions); + File.WriteAllText( + GetFilename(modelType.FullName, ++exportFileNumber), + jsonString + ); + } + Console.WriteLine($"Export: ResearchDataset: in progress {exportFileNumber}/{numberOfDocumentsInIndex}"); + } + break; + + + + /* + * Publication + */ + case "CSC.PublicApi.Service.Models.Publication.Publication": + IHit? lastHitPublication = null; + ISearchResponse? publicationSearchResponse = null; + + // Number of documents in index + countResponse = _elasticClient.Count(c => c.Index(indexName)); + numberOfDocumentsInIndex = countResponse.Count; + Console.WriteLine($"Export: Publication: started from index {indexName} containing {numberOfDocumentsInIndex} documents"); + + while (numberOfQueryResults == -1 || numberOfQueryResults >= SingleQueryResultLimit) { + // Get batch of documents + if (lastHitPublication != null) { + publicationSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + .SearchAfter(lastHitPublication.Sorts) + ); + } else { + publicationSearchResponse = _elasticClient.Search (s => s + .Index(indexName) + .Size(SingleQueryResultLimit) + .Query(q => q.MatchAll()) + .Sort(sort => sort.Ascending(SortSpecialField.DocumentIndexOrder)) + ); + } + + numberOfQueryResults = publicationSearchResponse.Documents.Count; + if (numberOfQueryResults == 0) + { + break; + } + lastHitPublication= publicationSearchResponse.Hits.Last(); + + // Process documents: Map from Elastic index model to API model, write into text file + foreach (var doc in publicationSearchResponse.Documents) + { + PublicationApiModel publication = _mapper.Map(doc); + string jsonString = JsonSerializer.Serialize(publication, serializerOptions); + File.WriteAllText( + GetFilename(modelType.FullName, ++exportFileNumber), + jsonString + ); + } + Console.WriteLine($"Export: Publication: in progress {exportFileNumber}/{numberOfDocumentsInIndex}"); + } + break; + + default: + break; + } + } + + Console.WriteLine("Export: completed"); + } +} diff --git a/aspnetcore/src/Exporter/Exporter.csproj b/aspnetcore/src/Exporter/Exporter.csproj new file mode 100644 index 0000000..d7266a9 --- /dev/null +++ b/aspnetcore/src/Exporter/Exporter.csproj @@ -0,0 +1,18 @@ + + + + + + + + + Exe + net8.0 + enable + enable + b73bde99-06bf-406c-8e60-eb475cb00acc + CSC.PublicApi.$(MSBuildProjectName.Replace(" ", "_")) + CSC.PublicApi.$(MSBuildProjectName) + + + diff --git a/aspnetcore/src/Exporter/Program.cs b/aspnetcore/src/Exporter/Program.cs new file mode 100644 index 0000000..32bc45e --- /dev/null +++ b/aspnetcore/src/Exporter/Program.cs @@ -0,0 +1,67 @@ +using System.Text.Encodings.Web; +using System.Text.Json; +using System.Text.Json.Serialization; +using BulkExport; +using CSC.PublicApi.ElasticService; +using CSC.PublicApi.Interface; +using CSC.PublicApi.Interface.Configuration; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; + +/* + * This application exports all documents from Elasticsearch index into json files. Data is converted from Elasticsearch model to API model. + * The purpose of this application is to enable bulk export of all data. Application is not intended to be executed automatically in production. + * Instead, it should be considered as a tool, which a developer can use when a full data dump is needed in json file format. + * + * The application uses the same configuration as Indexer and Interface applications, except that it requires an added parameter: + * EXPORTER:BASEDIRECTORY - sets the base directory where the json files are written. It must be defined without trailing slash, for example, "/tmp" + */ + +public class Program +{ + private const int DefaultQueryTimeout = 300; + public static async Task Main(string[] args) + { + var environment = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); + var configuration = new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json", true) + .AddJsonFile($"appsettings.{environment}.json", true) + .AddUserSecrets() + .AddEnvironmentVariables() + .Build(); + var consoleHost = CreateHostBuilder(args).Build(); + + // Define json serializer options + // https://learn.microsoft.com/en-us/dotnet/api/system.text.json.jsonserializeroptions?view=net-6.0 + // https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/character-encoding + // https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/customize-properties?pivots=dotnet-6-0 + // https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/ignore-properties#ignore-all-null-value-properties + var jsonSerializerOptions = new JsonSerializerOptions { + Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping, + PropertyNamingPolicy = JsonNamingPolicy.CamelCase, + DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull, + WriteIndented = true, + }; + + // Start export + var exporter = consoleHost.Services.GetRequiredService(); + exporter.Export(jsonSerializerOptions); + } + + private static IHostBuilder CreateHostBuilder(string[] args) => Host + .CreateDefaultBuilder(args) + .ConfigureServices((hostContext, services) => + { + services.AddTransient(); + services.AddSettings(hostContext.Configuration); + services.AddElasticSearch(hostContext.Configuration); + services.AddAutoMapper(typeof(ApiPolicies).Assembly); + services.AddScoped(); + }) + .ConfigureHostConfiguration(configurationBuilder => configurationBuilder + .AddEnvironmentVariables() + .AddUserSecrets(typeof(Program).Assembly, true) + .Build()); +} \ No newline at end of file diff --git a/aspnetcore/src/Indexer/Indexer.csproj b/aspnetcore/src/Indexer/Indexer.csproj index bd7daf1..ab3953a 100644 --- a/aspnetcore/src/Indexer/Indexer.csproj +++ b/aspnetcore/src/Indexer/Indexer.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 enable enable b73bde99-06bf-406c-8e60-eb475cb00acc @@ -13,11 +13,11 @@ - - - - - + + + + + diff --git a/aspnetcore/src/Interface/Interface.csproj b/aspnetcore/src/Interface/Interface.csproj index 7d8ed7a..7b028f6 100644 --- a/aspnetcore/src/Interface/Interface.csproj +++ b/aspnetcore/src/Interface/Interface.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable b73bde99-06bf-406c-8e60-eb475cb00acc @@ -17,21 +17,21 @@ - - - - - - - - - - + + + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive - + @@ -39,7 +39,7 @@ - + diff --git a/aspnetcore/src/Logging/Logging.csproj b/aspnetcore/src/Logging/Logging.csproj index e6ee872..68d50cb 100644 --- a/aspnetcore/src/Logging/Logging.csproj +++ b/aspnetcore/src/Logging/Logging.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable CSC.PublicApi.Logging diff --git a/aspnetcore/src/Repositories/Repositories.csproj b/aspnetcore/src/Repositories/Repositories.csproj index efcaae6..58e792d 100644 --- a/aspnetcore/src/Repositories/Repositories.csproj +++ b/aspnetcore/src/Repositories/Repositories.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable CSC.PublicApi.$(MSBuildProjectName.Replace(" ", "_")) @@ -13,7 +13,7 @@ - + diff --git a/aspnetcore/src/Service.Models/Service.Models.csproj b/aspnetcore/src/Service.Models/Service.Models.csproj index bf5ddc8..f955da1 100644 --- a/aspnetcore/src/Service.Models/Service.Models.csproj +++ b/aspnetcore/src/Service.Models/Service.Models.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable CSC.PublicApi.$(MSBuildProjectName.Replace(" ", "_")) diff --git a/aspnetcore/test/Indexer.Tests/Indexer.Tests.csproj b/aspnetcore/test/Indexer.Tests/Indexer.Tests.csproj index 962c00b..27e346a 100644 --- a/aspnetcore/test/Indexer.Tests/Indexer.Tests.csproj +++ b/aspnetcore/test/Indexer.Tests/Indexer.Tests.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable enable diff --git a/aspnetcore/test/Interface.Tests/Interface.Tests.csproj b/aspnetcore/test/Interface.Tests/Interface.Tests.csproj index 35a39ec..4b4f6a0 100644 --- a/aspnetcore/test/Interface.Tests/Interface.Tests.csproj +++ b/aspnetcore/test/Interface.Tests/Interface.Tests.csproj @@ -1,7 +1,7 @@  - net6.0 + net8.0 enable false @@ -36,9 +36,9 @@ - - - + + + diff --git a/aspnetcore/test/Repository.Tests/Repository.Tests.csproj b/aspnetcore/test/Repository.Tests/Repository.Tests.csproj index 6113bf0..8d7d135 100644 --- a/aspnetcore/test/Repository.Tests/Repository.Tests.csproj +++ b/aspnetcore/test/Repository.Tests/Repository.Tests.csproj @@ -1,7 +1,7 @@ - net6.0 + net8.0 enable enable