エラー内容
kerumatomomitsu@kerumatomomitsunoMacBook-Air InsuranceProductManager % dotnet build
復元が完了しました (0.5 秒)
InsuranceProductManager 15 件の警告付きで成功しました (0.7 秒) → bin/Debug/net9.0/InsuranceProductManager.dll
/Users/kerumatomomitsu/InsuranceProductManager/Models/FireInsuranceRate.cs(4,19): warning CS8618: null 非許容の プロパティ 'Region' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/AutoInsuranceCalculationRequest.cs(5,23): warning CS8618: null 非許容の プロパティ 'VehicleClass' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/AutoInsuranceCalculationRequest.cs(6,23): warning CS8618: null 非許容の プロパティ 'AgeGroup' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/AutoInsuranceCalculationRequest.cs(7,23): warning CS8618: null 非許容の プロパティ 'Gender' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/AutoInsuranceRate.cs(5,23): warning CS8618: null 非許容の プロパティ 'VehicleClass' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/AutoInsuranceRate.cs(6,23): warning CS8618: null 非許容の プロパティ 'AgeGroup' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/FireInsuranceCalculationRequest.cs(5,23): warning CS8618: null 非許容の プロパティ 'StructureType' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/FireInsuranceCalculationRequest.cs(6,23): warning CS8618: null 非許容の プロパティ 'Prefecture' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/FireInsuranceCalculationResult.cs(7,23): warning CS8618: null 非許容の プロパティ 'Details' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/InsurancePolicy.cs(8,23): warning CS8618: null 非許容の プロパティ 'PolicyId' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/InsurancePolicy.cs(9,23): warning CS8618: null 非許容の プロパティ 'CustomerId' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/InsurancePolicy.cs(10,23): warning CS8618: null 非許容の プロパティ 'PlanName' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/Customer.cs(8,23): warning CS8618: null 非許容の プロパティ 'CustomerId' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/Customer.cs(9,23): warning CS8618: null 非許容の プロパティ 'Name' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
/Users/kerumatomomitsu/InsuranceProductManager/Models/Customer.cs(11,23): warning CS8618: null 非許容の プロパティ 'Email' には、コンストラクターの終了時に null 以外の値が入っていなければなりません。'required' 修飾子を追加するか、プロパティ を Null 許容として宣言することを検討してください。
修正例
下記の様に各モデルの変数定義にあるデータ型(string)の末尾に「?」を追記することで、Null値を許容しエラーを解消しました。
namespace InsuranceProductManager.Models
{
public class AutoInsuranceCalculationRequest
{
public string? VehicleClass { get; set; }
public string? AgeGroup { get; set; } // "全年齢", "21歳以上", "26歳以上"
public string? Gender { get; set; } // "男性" or "女性"
public int Grade { get; set; } // 等級(1~20)
public int AnnualMileage { get; set; } // 年間走行距離(km)
public bool IncludeVehicleDamage { get; set; }
public bool IncludePersonalInjury { get; set; }
public bool IncludeLawyerService { get; set; }
public int Years { get; set; }
}
}