Update project for multi-targeting and nullable types

Updated `DigitalData.UserManager.Domain.csproj` to support .NET 4.6.2, 7.0, 8.0, and 9.0. Adjusted implicit usings and nullable reference types settings based on the target framework, disabling nullable types for `net462` and enabling them for others.

Refactored entity classes (`BaseEntity`, `ClientUser`, `Group`, `GroupOfUser`, `Module`, `ModuleOfUser`, `User`, and `UserRep`) to conditionally include nullable reference types. Added `?` operator for string properties in .NET 7.0 and above, enhancing code safety and reducing null reference exceptions.
This commit is contained in:
tekh 2025-06-26 13:15:36 +02:00
parent b1075c8b82
commit bc44de63ee
9 changed files with 28 additions and 28 deletions

View File

@ -2,8 +2,6 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net462;net7.0;net8.0;net9.0</TargetFrameworks> <TargetFrameworks>net462;net7.0;net8.0;net9.0</TargetFrameworks>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<PackageId>UserManager.Domain</PackageId> <PackageId>UserManager.Domain</PackageId>
<Version>3.1.0</Version> <Version>3.1.0</Version>
<Authors>Digital Data GmbH</Authors> <Authors>Digital Data GmbH</Authors>
@ -19,11 +17,13 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net462'"> <PropertyGroup Condition="'$(TargetFramework)' == 'net462'">
<Nullable>disable</Nullable>
<ImplicitUsings>disable</ImplicitUsings> <ImplicitUsings>disable</ImplicitUsings>
<LangVersion>7.3</LangVersion> <LangVersion>7.3</LangVersion>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' != 'net462'"> <PropertyGroup Condition="'$(TargetFramework)' != 'net462'">
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
</PropertyGroup> </PropertyGroup>

View File

@ -17,7 +17,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(50)] [StringLength(50)]
[Column("ADDED_WHO")] [Column("ADDED_WHO")]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
AddedWho AddedWho
@ -26,7 +26,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(50)] [StringLength(50)]
[Column("CHANGED_WHO")] [Column("CHANGED_WHO")]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
ChangedWho ChangedWho

View File

@ -25,7 +25,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("COMMENT")] [Column("COMMENT")]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Comment Comment
@ -34,7 +34,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(50)] [StringLength(50)]
[Column("ADDED_WHO")] [Column("ADDED_WHO")]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
AddedWho AddedWho

View File

@ -9,7 +9,7 @@ namespace DigitalData.UserManager.Domain.Entities
{ {
[StringLength(50)] [StringLength(50)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Name { get; set; } Name { get; set; }
@ -29,7 +29,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(200)] [StringLength(200)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Comment Comment

View File

@ -16,21 +16,21 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(200)] [StringLength(200)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Comment { get; set; } Comment { get; set; }
[ForeignKey("UserId")] [ForeignKey("UserId")]
public virtual User public virtual User
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
User { get; set; } User { get; set; }
[ForeignKey("GroupId")] [ForeignKey("GroupId")]
public virtual Group public virtual Group
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Group { get; set; } Group { get; set; }

View File

@ -13,7 +13,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(50)] [StringLength(50)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Name { get; set; } Name { get; set; }
@ -21,7 +21,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(20)] [StringLength(20)]
[Column("SHORT_NAME")] [Column("SHORT_NAME")]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
ShortName { get; set; } ShortName { get; set; }

View File

@ -22,7 +22,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("COMMENT")] [Column("COMMENT")]
[StringLength(200)] [StringLength(200)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Comment { get; set; } Comment { get; set; }
@ -30,7 +30,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("ADDED_WHO")] [Column("ADDED_WHO")]
[StringLength(50)] [StringLength(50)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
AddedWho { get; set; } = "DEFAULT"; AddedWho { get; set; } = "DEFAULT";
@ -38,21 +38,21 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("CHANGED_WHO")] [Column("CHANGED_WHO")]
[StringLength(50)] [StringLength(50)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
ChangedWho { get; set; } ChangedWho { get; set; }
[ForeignKey("UserId")] [ForeignKey("UserId")]
public virtual User public virtual User
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
User { get; set; } User { get; set; }
[ForeignKey("ModuleId")] [ForeignKey("ModuleId")]
public virtual Module public virtual Module
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Module { get; set; } Module { get; set; }

View File

@ -10,7 +10,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("PRENAME")] [Column("PRENAME")]
[StringLength(50)] [StringLength(50)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Prename { get; set; } Prename { get; set; }
@ -18,7 +18,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("NAME")] [Column("NAME")]
[StringLength(50)] [StringLength(50)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Name { get; set; } Name { get; set; }
@ -31,7 +31,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("SHORTNAME")] [Column("SHORTNAME")]
[StringLength(30)] [StringLength(30)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Shortname Shortname
@ -40,7 +40,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("EMAIL")] [Column("EMAIL")]
[StringLength(100)] [StringLength(100)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Email { get; set; } Email { get; set; }
@ -50,7 +50,7 @@ namespace DigitalData.UserManager.Domain.Entities
[StringLength(5)] [StringLength(5)]
[DefaultValue("de-DE")] [DefaultValue("de-DE")]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Language { get; set; } Language { get; set; }
@ -58,7 +58,7 @@ namespace DigitalData.UserManager.Domain.Entities
[Column("COMMENT")] [Column("COMMENT")]
[StringLength(500)] [StringLength(500)]
public string public string
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Comment { get; set; } Comment { get; set; }

View File

@ -28,28 +28,28 @@ namespace DigitalData.UserManager.Domain.Entities
[ForeignKey("UserId")] [ForeignKey("UserId")]
public virtual User public virtual User
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
User { get; set; } User { get; set; }
[ForeignKey("RepGroupId")] [ForeignKey("RepGroupId")]
public virtual Group public virtual Group
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
RepGroup { get; set; } RepGroup { get; set; }
[ForeignKey("GroupId")] [ForeignKey("GroupId")]
public virtual Group public virtual Group
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
Group { get; set; } Group { get; set; }
[ForeignKey("RepUserId")] [ForeignKey("RepUserId")]
public virtual User public virtual User
#if NET6_0_OR_GREATER #if NET7_0_OR_GREATER
? ?
#endif #endif
RepUser { get; set; } RepUser { get; set; }