Add VwRecAction class to map VWREC_ACTION database view
Introduced the `VwRecAction` class to represent the `VWREC_ACTION` database view. The class is annotated with `[Table]` and `[Column]` attributes for schema mapping and includes nullable properties to handle potential schema changes gracefully. Added `using` directives for data annotations and schema mapping. Documented the class to explain its purpose and design decisions, ensuring flexibility and resilience against database schema evolution.
This commit is contained in:
parent
b6000a56d6
commit
3be1d04a43
117
src/ReC.Domain/Entities/Action.cs
Normal file
117
src/ReC.Domain/Entities/Action.cs
Normal file
@ -0,0 +1,117 @@
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.ComponentModel.DataAnnotations.Schema;
|
||||
|
||||
namespace ReC.Domain.Entities;
|
||||
|
||||
/// <summary>
|
||||
/// Represents the VWREC_ACTION view from the database.
|
||||
///
|
||||
/// All properties are defined as nullable to provide flexibility in case the underlying view
|
||||
/// changes in production (e.g., columns added, removed, or modified). This approach prevents
|
||||
/// runtime mapping errors and ensures the application can handle schema changes without
|
||||
/// requiring immediate code updates.
|
||||
/// </summary>
|
||||
[Table("VWREC_ACTION", Schema = "dbo")]
|
||||
public class VwRecAction
|
||||
{
|
||||
[Column("ACTION_ID")]
|
||||
public long? ActionId { get; set; }
|
||||
|
||||
[Column("PROFILE_ID")]
|
||||
public long? ProfileId { get; set; }
|
||||
|
||||
[Column("PROFILE_NAME")]
|
||||
[MaxLength(100)]
|
||||
public string? ProfileName { get; set; }
|
||||
|
||||
[Column("PROFILE_TYPE")]
|
||||
[MaxLength(20)]
|
||||
public string? ProfileType { get; set; }
|
||||
|
||||
[Column("PROFILE_SEQUENCE")]
|
||||
public byte? ProfileSequence { get; set; }
|
||||
|
||||
[Column("ENDPOINT_ID")]
|
||||
public long? EndpointId { get; set; }
|
||||
|
||||
[Column("ENDPOINT_URI")]
|
||||
[MaxLength(4000)]
|
||||
public string? EndpointUri { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_ID")]
|
||||
public long? EndpointAuthId { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_TYPE")]
|
||||
[MaxLength(50)]
|
||||
public string? EndpointAuthType { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_API_KEY")]
|
||||
[MaxLength(300)]
|
||||
public string? EndpointAuthApiKey { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_API_VALUE")]
|
||||
[MaxLength(300)]
|
||||
public string? EndpointAuthApiValue { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_API_KEY_ADD_TO")]
|
||||
[MaxLength(20)]
|
||||
public string? EndpointAuthApiKeyAddTo { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_TOKEN")]
|
||||
[MaxLength(300)]
|
||||
public string? EndpointAuthToken { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_USERNAME")]
|
||||
[MaxLength(200)]
|
||||
public string? EndpointAuthUsername { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_PASSWORD")]
|
||||
[MaxLength(200)]
|
||||
public string? EndpointAuthPassword { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_DOMAIN")]
|
||||
[MaxLength(100)]
|
||||
public string? EndpointAuthDomain { get; set; }
|
||||
|
||||
[Column("ENDPOINT_AUTH_WORKSTATION")]
|
||||
[MaxLength(100)]
|
||||
public string? EndpointAuthWorkstation { get; set; }
|
||||
|
||||
[Column("ENDPOINT_PARAMS_ID")]
|
||||
public short? EndpointParamsId { get; set; }
|
||||
|
||||
[Column("SQL_CONNECTION_ID")]
|
||||
public short? SqlConnectionId { get; set; }
|
||||
|
||||
[Column("SQL_CONNECTION_SERVER")]
|
||||
[MaxLength(150)]
|
||||
public string? SqlConnectionServer { get; set; }
|
||||
|
||||
[Column("SQL_CONNECTION_DB")]
|
||||
[MaxLength(100)]
|
||||
public string? SqlConnectionDb { get; set; }
|
||||
|
||||
[Column("SQL_CONNECTION_USERNAME")]
|
||||
[MaxLength(100)]
|
||||
public string? SqlConnectionUsername { get; set; }
|
||||
|
||||
[Column("SQL_CONNECTION_PASSWORD")]
|
||||
[MaxLength(100)]
|
||||
public string? SqlConnectionPassword { get; set; }
|
||||
|
||||
[Column("REST_TYPE")]
|
||||
[MaxLength(20)]
|
||||
public string? RestType { get; set; }
|
||||
|
||||
[Column("PREPROCESSING_QUERY")]
|
||||
public string? PreprocessingQuery { get; set; }
|
||||
|
||||
[Column("HEADER_QUERY")]
|
||||
public string? HeaderQuery { get; set; }
|
||||
|
||||
[Column("BODY_QUERY")]
|
||||
public string? BodyQuery { get; set; }
|
||||
|
||||
[Column("POSTPROCESSING_QUERY")]
|
||||
public string? PostprocessingQuery { get; set; }
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user